Пример #1
0
/**
 * Получение основного меню для сайта
 * @param $param
 * @param $smarty
 */
function smarty_function_getStructureMenu($param, &$smarty)
{
    global $current_lang, $__lang;
    // Объекст класса для работы с деревьями
    $base = new TreeTable(DOC, $current_lang, PREF);
    if (class_exists('Pages')) {
        $pages = new Pages($base, $smarty, $__lang);
        //	Идентификатор элемента дерева.
        if (isset($param['id']) && (int) $param['id'] > 0) {
            $id = (int) $param['id'];
        } else {
            $main_page = $pages->getRootPage();
            $id = $main_page['id'];
        }
        //	Ограничение по уровню вложенности.
        $level = 1;
        if (isset($param['level']) && (int) $param['level'] >= 0) {
            $level = (int) $param['level'];
        }
        //	Отображение родителя
        $parent = 0;
        if (isset($param['parent']) && (int) $param['parent'] >= 0) {
            $parent = (int) $param['parent'];
        }
        //	Переменная, в которую все вернется.
        $assign = 'data';
        if (isset($param['assign']) && preg_match('/^[a-z0-9_]+?$/', $param['assign'])) {
            $assign = $param['assign'];
        }
        // Получение меню
        $data = $pages->getMenu($id, $level, $parent);
        // Выгрузка в шпблон
        $smarty->assign($assign, $data);
    }
}
Пример #2
0
 public function run()
 {
     $data['pages'] = Pages::getMenu(3);
     $data['currentPageUri'] = Yii::app()->request->getRequestUri();
     $this->render('view_TopMenu', $data);
 }
Пример #3
0
 public static function getMenuFooter()
 {
     return Pages::getMenu(3);
 }