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


PHP CMenu::getId方法代码示例

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


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

示例1: getTasksMenu

 /**
  * Меню задач для текущего пользователя.
  * Возвращаются только доступные ему задачи
  *
  * @static
  * @return CMenu
  */
 private static function getTasksMenu()
 {
     if (!self::getCacheMenu()->hasElement("admin_menu")) {
         $user = CSession::getCurrentUser();
         /**
          * Чтобы не выбиваться из общей концепции придется адаптировать существующую таблицу
          * задач портала под вывод в виде меню. Также было бы неплохо сделать редактор этой
          * гадости в виде такого же простого вида, как и с моими меню
          *
          * 1. Создадим фиктивную activeRecord из моего меню для ссылки в другое меню
          * 2. Берем из таблицы группы меню (из task_menu_names)
          * 3. Выберем пункты меню из нужной таблицы и добавим их как обычные пункты.
          * 4. Добавим недостающие
          * 5. Исключим недоступные текущему пользователю
          *
          * Обновление от 06.02.2014 - все пункты меню хранятся в базе
          */
         // дополнительный пункт "Прочее"
         $arr = array();
         $arr['id'] = 100000;
         $arr['title'] = "Меню админки";
         $arr['alias'] = "admin_menu";
         $arr['description'] = "Фиктивное меню для отображения задач портала";
         $arr['published'] = 1;
         $menu = new CMenu(new CActiveRecord($arr));
         foreach (CActiveRecordProvider::getWithCondition("task_menu_names", "1=1 order by name desc")->getItems() as $i) {
             $arr = $i->getItems();
             // адаптер для моей системы меню
             $arr['id'] = $arr['id'] + 100000;
             $arr['title'] = $arr['name'];
             $arr['anchor'] = "#";
             $arr['menu_id'] = $menu->getId();
             $arr['parent_id'] = 0;
             $i->setItems($arr);
             $menuItem = new CMenuItem($i);
             $menu->addMenuItem($menuItem);
         }
         // дополнительный пункт "Прочее"
         $arr = array();
         $arr['id'] = 100000;
         $arr['title'] = CUtils::getTextStringInCorrectEncoding("Прочее");
         $arr['anchor'] = "#";
         $arr['menu_id'] = $menu->getId();
         $arr['parent_id'] = 0;
         $menuItem = new CMenuItem(new CActiveRecord($arr));
         $menu->addMenuItem($menuItem);
         foreach (CActiveRecordProvider::getWithCondition("tasks", "hidden=0 order by name asc")->getItems() as $i) {
             $arr = $i->getItems();
             // адаптер для совместимости с моей системой
             $arr['title'] = $arr['name'];
             $arr['anchor'] = $arr['url'];
             $arr['parent_id'] = $arr['menu_name_id'] + 100000;
             $arr['menu_id'] = $menu->getId();
             unset($arr['name']);
             unset($arr['url']);
             unset($arr['menu_name_id']);
             unset($arr['hidden']);
             unset($arr['kadri_in_task']);
             unset($arr['students_in_task']);
             unset($arr['comment']);
             $i->setItems($arr);
             $menuItem = new CMenuItem($i);
             $menu->addMenuItem($menuItem);
         }
         // дополнительный пункт меню "Выход"
         $arr = array();
         $arr['id'] = 200000;
         $arr['title'] = CUtils::getTextStringInCorrectEncoding("Выход");
         $arr['anchor'] = "p_administration.php?exit=1";
         $arr['menu_id'] = $menu->getId();
         $arr['parent_id'] = 0;
         $menuItem = new CMenuItem(new CActiveRecord($arr));
         $menu->addMenuItem($menuItem);
         // теперь исключаем все задачи недоступные текущему пользователю
         foreach ($menu->getMenuItems()->getItems() as $menuItem) {
             if ($menuItem->getId() < 100000) {
                 if (!$user->getRoles()->hasElement($menuItem->getId())) {
                     $menu->getMenuItems()->removeItem($menuItem->getId());
                 }
             }
         }
         self::getCacheMenu()->add("admin_menu", $menu);
     }
     return self::getCacheMenu()->getItem("admin_menu");
 }
开发者ID:Rustam44,项目名称:ASUPortalPHP,代码行数:92,代码来源:CMenuManager.class.php

示例2: setMenu

 public function setMenu(CMenu $value)
 {
     $this->_menu = $value;
     $this->getRecord()->setItemValue("menu_id", $value->getId());
 }
开发者ID:Rustam44,项目名称:ASUPortalPHP,代码行数:5,代码来源:CMenuItem.class.php


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