本文整理汇总了PHP中MenusHelper::addSubmenu方法的典型用法代码示例。如果您正苦于以下问题:PHP MenusHelper::addSubmenu方法的具体用法?PHP MenusHelper::addSubmenu怎么用?PHP MenusHelper::addSubmenu使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MenusHelper
的用法示例。
在下文中一共展示了MenusHelper::addSubmenu方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: display
/**
* Method to display a view.
*
* @param boolean If true, the view output will be cached
* @param array An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
*
* @return JController This object to support chaining.
* @since 1.5
*/
public function display($cachable = false, $urlparams = false)
{
require_once JPATH_COMPONENT . '/helpers/menus.php';
// Load the submenu.
MenusHelper::addSubmenu(JRequest::getCmd('view'));
$view = JRequest::getCmd('view', 'menus');
$layout = JRequest::getCmd('layout', 'default');
$id = JRequest::getInt('id');
// Check for edit form.
if ($view == 'menu' && $layout == 'edit' && !$this->checkEditId('com_menus.edit.menu', $id)) {
// Somehow the person just went to the form - we don't allow that.
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(JRoute::_('index.php?option=com_menus&view=menus', false));
return false;
} elseif ($view == 'item' && $layout == 'edit' && !$this->checkEditId('com_menus.edit.item', $id)) {
// Somehow the person just went to the form - we don't allow that.
$this->setError(JText::sprintf('JLIB_APPLICATION_ERROR_UNHELD_ID', $id));
$this->setMessage($this->getError(), 'error');
$this->setRedirect(JRoute::_('index.php?option=com_menus&view=items', false));
return false;
}
parent::display();
return $this;
}
示例2: display
/**
* Display the view
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return void
*
* @since 1.6
*/
public function display($tpl = null)
{
$this->items = $this->get('Items');
$this->modules = $this->get('Modules');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
MenusHelper::addSubmenu('menus');
// Check for errors.
if (count($errors = $this->get('Errors'))) {
JError::raiseError(500, implode("\n", $errors));
return false;
}
$this->addToolbar();
$this->sidebar = JHtmlSidebar::render();
parent::display($tpl);
}
示例3: display
/**
* Method to display a view.
*
* @return void
*/
function display()
{
// Get the document object.
$document =& JFactory::getDocument();
// Set the default view name and format from the Request.
$vName = JRequest::getWord('view', 'items');
$vFormat = $document->getType();
$lName = JRequest::getWord('layout', 'default');
// Get and render the view.
if ($view =& $this->getView($vName, $vFormat)) {
// Get the model for the view.
$model =& $this->getModel($vName);
// Push the model into the view (as default).
$view->setModel($model, true);
$view->setLayout($lName);
// Push document object into the view.
$view->assignRef('document', $document);
$view->display();
// Load the submenu.
require_once JPATH_COMPONENT . DS . 'helpers' . DS . 'menus.php';
MenusHelper::addSubmenu($vName);
}
}
示例4: display
/**
* Display the view
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return void
*/
public function display($tpl = null)
{
$lang = JFactory::getLanguage();
$this->items = $this->get('Items');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->filterForm = $this->get('FilterForm');
$this->activeFilters = $this->get('ActiveFilters');
MenusHelper::addSubmenu('items');
// Check for errors.
if (count($errors = $this->get('Errors'))) {
JError::raiseError(500, implode("\n", $errors));
return false;
}
$this->ordering = array();
// Preprocess the list of items to find ordering divisions.
foreach ($this->items as $item) {
$this->ordering[$item->parent_id][] = $item->id;
// Item type text
switch ($item->type) {
case 'url':
$value = JText::_('COM_MENUS_TYPE_EXTERNAL_URL');
break;
case 'alias':
$value = JText::_('COM_MENUS_TYPE_ALIAS');
break;
case 'separator':
$value = JText::_('COM_MENUS_TYPE_SEPARATOR');
break;
case 'heading':
$value = JText::_('COM_MENUS_TYPE_HEADING');
break;
case 'component':
default:
// Load language
$lang->load($item->componentname . '.sys', JPATH_ADMINISTRATOR, null, false, true) || $lang->load($item->componentname . '.sys', JPATH_ADMINISTRATOR . '/components/' . $item->componentname, null, false, true);
if (!empty($item->componentname)) {
$value = JText::_($item->componentname);
$vars = null;
parse_str($item->link, $vars);
if (isset($vars['view'])) {
// Attempt to load the view xml file.
$file = JPATH_SITE . '/components/' . $item->componentname . '/views/' . $vars['view'] . '/metadata.xml';
if (!is_file($file)) {
$file = JPATH_SITE . '/components/' . $item->componentname . '/view/' . $vars['view'] . '/metadata.xml';
}
if (is_file($file) && ($xml = simplexml_load_file($file))) {
// Look for the first view node off of the root node.
if ($view = $xml->xpath('view[1]')) {
if (!empty($view[0]['title'])) {
$vars['layout'] = isset($vars['layout']) ? $vars['layout'] : 'default';
// Attempt to load the layout xml file.
// If Alternative Menu Item, get template folder for layout file
if (strpos($vars['layout'], ':') > 0) {
// Use template folder for layout file
$temp = explode(':', $vars['layout']);
$file = JPATH_SITE . '/templates/' . $temp[0] . '/html/' . $item->componentname . '/' . $vars['view'] . '/' . $temp[1] . '.xml';
// Load template language file
$lang->load('tpl_' . $temp[0] . '.sys', JPATH_SITE, null, false, true) || $lang->load('tpl_' . $temp[0] . '.sys', JPATH_SITE . '/templates/' . $temp[0], null, false, true);
} else {
// Get XML file from component folder for standard layouts
$file = JPATH_SITE . '/components/' . $item->componentname . '/views/' . $vars['view'] . '/tmpl/' . $vars['layout'] . '.xml';
if (!file_exists($file)) {
$file = JPATH_SITE . '/components/' . $item->componentname . '/view/' . $vars['view'] . '/tmpl/' . $vars['layout'] . '.xml';
}
}
if (is_file($file) && ($xml = simplexml_load_file($file))) {
// Look for the first view node off of the root node.
if ($layout = $xml->xpath('layout[1]')) {
if (!empty($layout[0]['title'])) {
$value .= ' » ' . JText::_(trim((string) $layout[0]['title']));
}
}
if (!empty($layout[0]->message[0])) {
$item->item_type_desc = JText::_(trim((string) $layout[0]->message[0]));
}
}
}
}
unset($xml);
} else {
// Special case for absent views
$value .= ' » ' . $vars['view'];
}
}
} else {
if (preg_match("/^index.php\\?option=([a-zA-Z\\-0-9_]*)/", $item->link, $result)) {
$value = JText::sprintf('COM_MENUS_TYPE_UNEXISTING', $result[1]);
} else {
$value = JText::_('COM_MENUS_TYPE_UNKNOWN');
}
}
break;
//.........这里部分代码省略.........
示例5: display
/**
* Display the view
*
* @param string $tpl The name of the template file to parse; automatically searches through the template paths.
*
* @return void
*
* @since 1.6
*/
public function display($tpl = null)
{
$user = JFactory::getUser();
$lang = JFactory::getLanguage();
$this->items = $this->get('Items');
$this->pagination = $this->get('Pagination');
$this->state = $this->get('State');
$this->filterForm = $this->get('FilterForm');
$this->activeFilters = $this->get('ActiveFilters');
MenusHelper::addSubmenu('items');
// Check for errors.
if (count($errors = $this->get('Errors'))) {
JError::raiseError(500, implode("\n", $errors));
return false;
}
$this->ordering = array();
// Preprocess the list of items to find ordering divisions.
foreach ($this->items as $item) {
$this->ordering[$item->parent_id][] = $item->id;
// Item type text
switch ($item->type) {
case 'url':
$value = JText::_('COM_MENUS_TYPE_EXTERNAL_URL');
break;
case 'alias':
$value = JText::_('COM_MENUS_TYPE_ALIAS');
break;
case 'separator':
$value = JText::_('COM_MENUS_TYPE_SEPARATOR');
break;
case 'heading':
$value = JText::_('COM_MENUS_TYPE_HEADING');
break;
case 'component':
default:
// Load language
$lang->load($item->componentname . '.sys', JPATH_ADMINISTRATOR, null, false, true) || $lang->load($item->componentname . '.sys', JPATH_ADMINISTRATOR . '/components/' . $item->componentname, null, false, true);
if (!empty($item->componentname)) {
$titleParts = array();
$titleParts[] = JText::_($item->componentname);
$vars = null;
parse_str($item->link, $vars);
if (isset($vars['view'])) {
// Attempt to load the view xml file.
$file = JPATH_SITE . '/components/' . $item->componentname . '/views/' . $vars['view'] . '/metadata.xml';
if (!is_file($file)) {
$file = JPATH_SITE . '/components/' . $item->componentname . '/view/' . $vars['view'] . '/metadata.xml';
}
if (is_file($file) && ($xml = simplexml_load_file($file))) {
// Look for the first view node off of the root node.
if ($view = $xml->xpath('view[1]')) {
// Add view title if present.
if (!empty($view[0]['title'])) {
$viewTitle = trim((string) $view[0]['title']);
// Check if the key is valid. Needed due to B/C so we don't show untranslated keys. This check should be removed with Joomla 4.
if ($lang->hasKey($viewTitle)) {
$titleParts[] = JText::_($viewTitle);
}
}
}
}
$vars['layout'] = isset($vars['layout']) ? $vars['layout'] : 'default';
// Attempt to load the layout xml file.
// If Alternative Menu Item, get template folder for layout file
if (strpos($vars['layout'], ':') > 0) {
// Use template folder for layout file
$temp = explode(':', $vars['layout']);
$file = JPATH_SITE . '/templates/' . $temp[0] . '/html/' . $item->componentname . '/' . $vars['view'] . '/' . $temp[1] . '.xml';
// Load template language file
$lang->load('tpl_' . $temp[0] . '.sys', JPATH_SITE, null, false, true) || $lang->load('tpl_' . $temp[0] . '.sys', JPATH_SITE . '/templates/' . $temp[0], null, false, true);
} else {
// Get XML file from component folder for standard layouts
$file = JPATH_SITE . '/components/' . $item->componentname . '/views/' . $vars['view'] . '/tmpl/' . $vars['layout'] . '.xml';
if (!file_exists($file)) {
$file = JPATH_SITE . '/components/' . $item->componentname . '/view/' . $vars['view'] . '/tmpl/' . $vars['layout'] . '.xml';
}
}
if (is_file($file) && ($xml = simplexml_load_file($file))) {
// Look for the first view node off of the root node.
if ($layout = $xml->xpath('layout[1]')) {
if (!empty($layout[0]['title'])) {
$titleParts[] = JText::_(trim((string) $layout[0]['title']));
}
}
if (!empty($layout[0]->message[0])) {
$item->item_type_desc = JText::_(trim((string) $layout[0]->message[0]));
}
}
unset($xml);
// Special case if neither a view nor layout title is found
if (count($titleParts) == 1) {
//.........这里部分代码省略.........