Source for file menuitem.php
Documentation is available at menuitem.php
* @package Joomla.Libraries
* @copyright Copyright (C) 2005 - 2013 Open Source Matters, Inc. All rights reserved.
* @license GNU General Public License version 2 or later; see LICENSE
// Import the com_menus helper.
require_once realpath(JPATH_ADMINISTRATOR .
'/components/com_menus/helpers/menus.php');
* Supports an HTML grouped select list of menu item grouped by menu
* @package Joomla.Libraries
public $type =
'MenuItem';
* Method to get certain otherwise inaccessible properties from the form field object.
* @param string $name The property name for which to the the value.
* @return mixed The property value or null.
public function __get($name)
return parent::__get($name);
* Method to set certain otherwise inaccessible properties of the form field object.
* @param string $name The property name for which to the the value.
* @param mixed $value The value of the property.
public function __set($name, $value)
$value = (string)
$value;
$this->$name =
$value ?
explode(',', $value) :
array();
parent::__set($name, $value);
* Method to attach a JForm object to the field.
* @param SimpleXMLElement $element The SimpleXMLElement object representing the <field /> tag for the form field object.
* @param mixed $value The form field value to validate.
* @param string $group The field name group control value. This acts as as an array container for the field.
* For example if the field has name="foo" and the group value is set to "bar" then the
* full field name would end up being "bar[foo]".
* @return boolean True on success.
* @see JFormField::setup()
public function setup(SimpleXMLElement $element, $value, $group =
null)
$result =
parent::setup($element, $value, $group);
* Method to get the field option groups.
* @return array The field option objects as a nested array in groups.
// Build group for a specific menu type.
$groups[$menuType] =
array();
// Build the options array.
foreach ($items as $link)
$groups[$menuType][] =
JHtml::_('select.option', $link->value, $link->text, 'value', 'text', in_array($link->type, $this->disable));
// Build groups for all menu types.
// Build the groups arrays.
foreach ($items as $menu)
$groups[$menu->menutype] =
array();
// Build the options array.
foreach ($menu->links as $link)
$groups[$menu->menutype][] =
JHtml::_(
'select.option', $link->value, $link->text, 'value', 'text',
// Merge any additional groups in the XML definition.
Documentation generated on Tue, 19 Nov 2013 15:07:56 +0100 by phpDocumentor 1.4.3