当前位置: 首页>>代码示例>>PHP>>正文


PHP E::ModuleMenu方法代码示例

本文整理汇总了PHP中E::ModuleMenu方法的典型用法代码示例。如果您正苦于以下问题:PHP E::ModuleMenu方法的具体用法?PHP E::ModuleMenu怎么用?PHP E::ModuleMenu使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在E的用法示例。


在下文中一共展示了E::ModuleMenu方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: Deactivate

 /**
  * Деактивация плагина
  * @return bool
  */
 public function Deactivate()
 {
     $oMenu = E::ModuleMenu()->GetMenu('user');
     $oMenu->RemoveItemById('plugin.menutest.my_menu', true);
     E::ModuleMenu()->SaveMenu($oMenu);
     return true;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:11,代码来源:PluginMenutest.class.php

示例2: _addMenuItem

 /**
  * @param ModuleMenu_EntityMenu $oMenu
  */
 protected function _addMenuItem($oMenu)
 {
     // Создадим элемент меню
     $oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin.sandbox.topics', array('text' => array('{{plugin.sandbox.menu_text}}', 'hook:new_sandbox_count' => array('red')), 'link' => R::GetPath('index/sandbox'), 'active' => array('topic_kind' => array('sandbox')), 'options' => array('class' => '', 'link_title' => '{{plugin.sandbox.menu_text}}')));
     // Добавим в меню
     $oMenu->AddItem($oMenuItem);
     // Сохраним
     E::ModuleMenu()->SaveMenu($oMenu);
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:12,代码来源:HookSandbox.class.php

示例3: Deactivate

 /**
  * Деактивация плагина
  *
  * @return bool
  */
 public function Deactivate()
 {
     /** @var ModuleMenu_EntityMenu $oMenu */
     $oMenu = E::ModuleMenu()->GetMenu('topics');
     $oMenu->RemoveItemById(array('plugin.sandbox.topics', 'plugin_sandbox_topics'), true);
     E::ModuleMenu()->SaveMenu($oMenu);
     //E::ModuleMenu()->ClearMenuCache('topics');
     //Config::ResetCustomConfig('plugin.sandbox');
     return true;
 }
开发者ID:altocms,项目名称:alto-plugin-sandbox,代码行数:15,代码来源:PluginSandbox.class.php

示例4: RenderInitDone

 public function RenderInitDone()
 {
     $aMenus = Config::Get('menu.data');
     $bChanged = false;
     if ($aMenus && is_array($aMenus)) {
         foreach ($aMenus as $sMenuId => $aMenu) {
             if (isset($aMenu['init']['fill'])) {
                 $aMenus[$sMenuId] = E::ModuleMenu()->Prepare($sMenuId, $aMenu);
                 $bChanged = true;
             }
         }
         if ($bChanged) {
             Config::Set('menu.data', null);
             Config::Set('menu.data', $aMenus);
         }
     }
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:17,代码来源:HookMain.class.php

示例5: CodeHook

 public function CodeHook()
 {
     // Если пользоватль авторизован и у него не заполнено поле о себе, то
     if (E::IsUser() && trim(E::User()->getProfileAbout()) == '') {
         // Получим меню пользователя
         /** @var ModuleMenu_EntityMenu $oMenu */
         $oMenu = E::ModuleMenu()->GetMenu('user');
         // Проверим, может в этой теме меню не объектное
         if ($oMenu && !$oMenu->GetItemById('plugin_menutest_my_menu')) {
             // Создадим элемент меню
             $oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin_menutest_my_menu', array('text' => '{{plugin.menutest.empty_about}}', 'link' => E::User()->getProfileUrl() . 'settings/', 'display' => array('not_event' => array('settings')), 'options' => array('class' => 'btn right create')));
             // Добавим в меню
             $oMenu->AddItem('first', $oMenuItem);
             // Сохраним
             E::ModuleMenu()->SaveMenu($oMenu);
         }
     }
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:18,代码来源:HookMenutest.class.php

示例6: CodeHook

 /**
  * Метод, который вызывается после создания меню
  */
 public function CodeHook()
 {
     // Получим результат выполнения метода-источника хука
     /** @var ModuleMenu_EntityMenu $oMenu */
     $oMenu = $this->GetSourceResult();
     // Убеждаемся, что было создано нужное нам меню - меню пользователя
     if ($oMenu && $oMenu->getId() == 'user') {
         // Если пользователь авторизован и у него не заполнено поле о себе, то
         if (E::IsUser() && trim(E::User()->getProfileAbout()) == '') {
             // Проверим, есть ли в меню нужный элемент
             if (!$oMenu->GetItemById('plugin.menutest.my_menu')) {
                 // Создадим элемент меню
                 $oMenuItem = E::ModuleMenu()->CreateMenuItem('plugin.menutest.my_menu', array('text' => '{{plugin.menutest.empty_about}}', 'link' => E::User()->getProfileUrl() . 'settings/', 'display' => array('not_event' => array('settings')), 'options' => array('class' => 'btn right create')));
                 // Добавим в меню
                 $oMenu->AddItem($oMenuItem, 'first');
                 // Сохраним
                 E::ModuleMenu()->SaveMenu($oMenu);
             }
         }
     }
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:24,代码来源:HookMenutest.class.php

示例7: EventMenuManager

 /**
  * Обработчик экшена менеджера меню
  *
  * @return bool|null|string
  */
 protected function EventMenuManager()
 {
     // Активная вкладка главного меню
     $this->sMainMenuItem = 'settings';
     $this->_prepareMenus();
     // Получим страницу, на которой находится пользователь
     $sMode = $this->getParam(0);
     // В зависимости от страницы запускаем нужный обработчик
     if ($sMode == 'edit') {
         return $this->_eventMenuEdit();
     } else {
         if ($sMode == 'reset') {
             return $this->_eventMenuReset();
         } else {
             // Получим те меню, которые можно редактировать ползователю.
             $aMenu = E::ModuleMenu()->GetMenusByArrayId(Config::Get('module.menu.admin'));
             // Заполним вьювер
             E::ModuleViewer()->Assign(array('aMenu' => $aMenu, 'sMode' => $sMode));
             // Установим заголовок страницы
             $this->_setTitle(E::ModuleLang()->Get('action.admin.menu_manager'));
             // Установми страницу вывода
             $this->SetTemplateAction('settings/menu_manager');
         }
     }
 }
开发者ID:ZeoNish,项目名称:altocms,代码行数:30,代码来源:ActionAdmin.class.php

示例8: RemoveItemById

 /**
  * Удаляет элемент меню по его ID
  *
  * @param string|array|object $xItem
  * @param bool                $bClearCache
  */
 public function RemoveItemById($xItem, $bClearCache = false)
 {
     if (is_array($xItem)) {
         /** @var string|object $xItemId */
         foreach ($xItem as $xItemId) {
             if (is_object($xItemId)) {
                 $sItemId = $xItemId->getId();
             } else {
                 $sItemId = (string) $xItemId;
             }
             if (isset($this->_aItems[$sItemId])) {
                 unset($this->_aItems[$sItemId]);
             }
         }
     } else {
         if (is_object($xItem)) {
             $sItemId = $xItem->getId();
         } else {
             $sItemId = (string) $xItem;
         }
         if (isset($this->_aItems[$sItemId])) {
             unset($this->_aItems[$sItemId]);
         }
     }
     if ($bClearCache) {
         Config::ResetCustomConfig('menu.data.' . $this->getId() . '.list');
         E::ModuleMenu()->SaveMenu($this);
     }
 }
开发者ID:hard990,项目名称:altocms,代码行数:35,代码来源:Menu.entity.class.php

示例9: ProcessBlogsMode

 /**
  * Обработчик формирования меню в режиме blogs
  *
  * @param string[] $aFillSet Набор элементов меню
  * @param array $aMenu Само меню
  *
  * @return array
  */
 public function ProcessBlogsMode($aFillSet, $aMenu = NULL)
 {
     /** @var ModuleMenu_EntityItem[] $aItems */
     $aItems = array();
     /** @var ModuleBlog_EntityBlog[] $aBlogs */
     $aBlogs = array();
     if ($aFillSet) {
         $aBlogs = E::ModuleBlog()->GetBlogsByUrl($aFillSet['items']);
     } else {
         if ($aResult = E::ModuleBlog()->GetBlogsRating(1, $aFillSet['limit'])) {
             $aBlogs = $aResult['collection'];
         }
     }
     if ($aBlogs) {
         foreach ($aBlogs as $oBlog) {
             $aItems[$oBlog->getUrl()] = E::ModuleMenu()->CreateMenuItem($oBlog->getUrl(), array('title' => $oBlog->getTitle(), 'link' => $oBlog->getUrlFull(), 'active' => (Config::Get('router.rewrite.blog') ? Config::Get('router.rewrite.blog') : 'blog') . '.' . $oBlog->getUrl(), 'submenu' => array(), 'on' => array('{*}'), 'off' => NULL, 'display' => TRUE, 'options' => array('image_url' => $oBlog->getAvatarUrl(Config::Get('module.menu.blog_logo_size')))));
         }
     }
     return $aItems;
 }
开发者ID:AntiqS,项目名称:altocms,代码行数:28,代码来源:Menu.class.php

示例10: smarty_function_menu

/**
 * Формирует меню
 *
 * @param $aParams
 * @param $oSmarty
 *
 * @internal param $sMenuId
 * @internal param bool $sMenuClass
 * @internal param string $sActiveClass
 *
 * @return string
 */
function smarty_function_menu($aParams, &$oSmarty = NULL)
{
    // Меню нет - уходим
    if (!isset($aParams['id']) || !($aMenu = E::ModuleMenu()->GetPreparedMenu($aParams['id']))) {
        return '';
    }
    if (!isset($aMenu['items'])) {
        return '';
    }
    /** @var ModuleMenu_EntityItem[] $aMenuItems Элементы меню */
    $aMenuItems = $aMenu['items'];
    /** @var string $sMenu Запрашиваемое меню */
    $sMenu = '';
    // Установим класс меню, если он задан
    /** @var string $sMenuClass Класс меню */
    $sMenuClass = isset($aParams['class']) ? 'class="' . $aParams['class'] . '"' : '';
    if (!$sMenuClass) {
        $sMenuClass = isset($aMenu['class']) ? 'class="' . $aMenu['class'] . '"' : '';
    }
    // Открываем меню
    if (!isset($aParams['hideul'])) {
        $sMenu .= "<ul {$sMenuClass}>";
    }
    // Меню пустое
    $bEmpty = TRUE;
    // Заполним меню его элементами
    foreach ($aMenuItems as $sItemMenuName => $oMenuItem) {
        // Вызовем хук
        if (is_string($oMenuItem)) {
            $sMenu .= smarty_function_hook(array_merge(array('run' => $sItemMenuName), isset($aParams[$oMenuItem]) ? $aParams[$oMenuItem] : array()), $oSmarty);
            continue;
        }
        if (!$oMenuItem->isEnabled(isset($aParams['type']) ? $aParams['type'] : false)) {
            continue;
        }
        // Сформируем подменю если нужно
        $oMenuItem->setMenuId($aParams['id']);
        if (strpos($oMenuItemHtml = $oMenuItem->getHtml(), "[[submenu_") !== FALSE) {
            $oMenuItemHtml = preg_replace_callback('~\\[\\[submenu_(\\S*)\\]\\]~', function ($sSubmenuId) {
                if (isset($sSubmenuId[1])) {
                    $sSubmenuId = $sSubmenuId[1];
                } else {
                    return '';
                }
                $aSettings = array('id' => $sSubmenuId);
                if (preg_match('~[a-f0-9]{10}~', $sSubmenuId)) {
                    $aSettings = array_merge($aSettings, array('class' => Config::Get('menu.submenu.class')));
                }
                if (!is_null($sSubmenuHtml = smarty_function_menu($aSettings))) {
                    return $sSubmenuHtml;
                }
                return '';
            }, $oMenuItemHtml);
        }
        // Добавим html в вывод
        $sMenu .= $oMenuItemHtml;
        $bEmpty = FALSE;
    }
    // Закрываем меню
    if (!isset($aParams['hideul'])) {
        $sMenu .= '</ul>';
    }
    // Пустое меню не показываем, если не указано другое
    if (!isset($aParams['show_empty'])) {
        $aParams['show_empty'] = FALSE;
    }
    // Если меню не пустое, то покажем
    if (!($bEmpty && $aParams['show_empty'])) {
        return $sMenu;
    }
    return '';
}
开发者ID:Azany,项目名称:altocms,代码行数:84,代码来源:function.menu.php

示例11: RenderInitDone

 public function RenderInitDone()
 {
     E::ModuleMenu()->PrepareMenus();
 }
开发者ID:Azany,项目名称:altocms,代码行数:4,代码来源:HookMain.class.php


注:本文中的E::ModuleMenu方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。