var $isInternalLink = $('input[name=isInternalLink]').filter('[value=1]');
var $menuItemControllerContainer = $('#menuItemControllerContainer');
var $menuItemLinkContainer = $('#menuItemLinkContainer');
+ var $menuItemParametersContainer = $('#menuItemParametersContainer');
function handleMenuPosition() {
if ($menuPosition.val() === 'header') {
function handleIsInternalLink() {
if ($isInternalLink.is(':checked')) {
$menuItemControllerContainer.show();
+ $menuItemParametersContainer.show();
$menuItemLinkContainer.hide();
}
else {
$menuItemControllerContainer.hide();
+ $menuItemParametersContainer.hide();
$menuItemLinkContainer.show();
}
}
<legend>{lang}wcf.acp.pageMenu.link{/lang}</legend>
<dl>
+ <dt></dt>
<dd class="floated">
<label><input type="radio" name="isInternalLink" value="1"{if $isInternalLink} checked="checked"{/if} /> {lang}wcf.acp.pageMenu.link.internal{/lang}</label>
<label><input type="radio" name="isInternalLink" value="0"{if !$isInternalLink} checked="checked"{/if} /> {lang}wcf.acp.pageMenu.link.external{/lang}</label>
</dd>
</dl>
+ <dl id="menuItemParametersContainer"{if $errorField == 'menuItemParameters'} class="formError"{/if}>
+ <dt><label for="menuItemParameters">{lang}wcf.acp.pageMenu.menuItemParameters{/lang}</label></dt>
+ <dd>
+ <input type="text" name="menuItemParameters" id="menuItemParameters" value="{$menuItemParameters}" class="long" />
+ {if $errorField == 'menuItemParameters'}
+ <small class="innerError">
+ {if $errorType == 'empty'}
+ {lang}wcf.global.form.error.empty{/lang}
+ {else}
+ {lang}wcf.acp.pageMenu.menuItemParameters.error.{$errorType}{/lang}
+ {/if}
+ </small>
+ {/if}
+ </dd>
+ </dl>
+
<dl id="menuItemLinkContainer"{if $errorField == 'menuItemLink'} class="formError"{/if}>
<dt><label for="menuItemLink">{lang}wcf.acp.pageMenu.menuItemLink{/lang}</label></dt>
<dd>
</dl>
<dl>
+ <dt></dt>
<dd>
<label><input type="checkbox" name="isDisabled" id="isDisabled" value="1"{if $isDisabled} checked="checked"{/if} /> <span>{lang}wcf.acp.pageMenu.isDisabled{/lang}</span></label>
</dd>
*/
public $menuItemController = '';
+ /**
+ * menu item parameters
+ * @var string
+ */
+ public $menuItemParameters = '';
+
/**
* menu item link
* @var string
if (isset($_POST['isDisabled'])) $this->isDisabled = true;
if (isset($_POST['isInternalLink'])) $this->isInternalLink = (bool) $_POST['isInternalLink'];
if (isset($_POST['menuItemController'])) $this->menuItemController = StringUtil::trim($_POST['menuItemController']);
+ if (isset($_POST['menuItemParameters'])) $this->menuItemParameters = StringUtil::trim($_POST['menuItemParameters']);
if (isset($_POST['menuPosition'])) $this->menuPosition = StringUtil::trim($_POST['menuPosition']);
if (isset($_POST['parentMenuItem'])) $this->parentMenuItem = StringUtil::trim($_POST['parentMenuItem']);
if (isset($_POST['showOrder'])) $this->showOrder = intval($_POST['showOrder']);
'isDisabled' => ($this->isDisabled) ? 1 : 0,
'menuItem' => $this->pageMenuItem,
'menuItemController' => $this->menuItemController,
- 'menuItemLink' => $this->menuItemLink,
+ 'menuItemLink' => ($this->menuItemController ? $this->menuItemParameters : $this->menuItemLink),
'menuPosition' => $this->menuPosition,
'parentMenuItem' => $this->parentMenuItem,
'showOrder' => $this->showOrder
// reset variables
$this->isDisabled = $this->isInternalLink = false;
$this->menuPosition = 'header';
- $this->menuItemController = $this->menuItemLink = $this->pageMenuItem = $this->parentMenuItem = '';
+ $this->menuItemController = $this->menuItemLink = $this->pageMenuItem = $this->parentMenuItem = $this->menuItemParameters = '';
$this->showOrder = 0;
I18nHandler::getInstance()->reset();
'isDisabled' => $this->isDisabled,
'isInternalLink' => $this->isInternalLink,
'menuItemController' => $this->menuItemController,
+ 'menuItemParameters' => $this->menuItemParameters,
'menuItemLink' => $this->menuItemLink,
'menuPosition' => $this->menuPosition,
'pageMenuItem' => $this->pageMenuItem,
$this->isDisabled = ($this->menuItem->isDisabled) ? true : false;
$this->isInternalLink = ($this->menuItem->menuItemController) ? true : false;
$this->menuItemController = $this->menuItem->menuItemController;
- $this->menuItemLink = $this->menuItem->menuItemLink;
+ if ($this->isInternalLink) {
+ $this->menuItemParameters = $this->menuItem->menuItemLink;
+ }
+ else {
+ $this->menuItemLink = $this->menuItem->menuItemLink;
+ }
$this->menuPosition = $this->menuItem->menuPosition;
$this->pageMenuItem = $this->menuItem->menuItem;
$this->parentMenuItem = $this->menuItem->parentMenuItem;
$this->objectAction = new PageMenuItemAction(array($this->menuItem), 'update', array('data' => array(
'isDisabled' => ($this->isDisabled) ? 1 : 0,
'menuItemController' => $this->menuItemController,
- 'menuItemLink' => $this->menuItemLink,
+ 'menuItemLink' => ($this->menuItemController ? $this->menuItemParameters : $this->menuItemLink),
'parentMenuItem' => ($this->menuPosition == 'header' ? $this->parentMenuItem : ''),
'menuPosition' => $this->menuPosition,
'showOrder' => $this->showOrder
<item name="wcf.acp.pageMenu.pageMenuItem"><![CDATA[Name]]></item>
<item name="wcf.acp.pageMenu.parentMenuItem"><![CDATA[Übergeordneter Menüpunkt]]></item>
<item name="wcf.acp.pageMenu.showOrder"><![CDATA[Reihenfolge]]></item>
+ <item name="wcf.acp.pageMenu.menuItemParameters"><![CDATA[Parameter]]></item>
</category>
<category name="wcf.acp.rebuildData">
<item name="wcf.acp.pageMenu.pageMenuItem"><![CDATA[Title]]></item>
<item name="wcf.acp.pageMenu.parentMenuItem"><![CDATA[Parent Menu Item]]></item>
<item name="wcf.acp.pageMenu.showOrder"><![CDATA[Display Order]]></item>
+ <item name="wcf.acp.pageMenu.menuItemParameters"><![CDATA[TODO: Parameter]]></item>
</category>
<category name="wcf.acp.rebuildData">