Здравствуйте!
Собственно, вопрос в заголовке: как в menu.tpl.php выставить условие по системному имени меню?
Спасибо!
Условие по системному имени меню в двойке?
ЕСТЬ РЕШЕНИЕ
ЗАКРЫТО
#1
21 сентября 2015 в 13:50
#2
21 сентября 2015 в 14:11
если($widget->options['menu'] == 'некое системное имя') { удаляем базу данных }
#3
21 сентября 2015 в 14:16
$this->layout
if($this->layout == 'main') { echo 'Ура, системное имя этого меню — main'; }
Сегодня в 01:55
#4
21 сентября 2015 в 14:44
kreator, не совсем верно. вернёт скорее название файла шаблона, но никак не название меню. Прав был Pasha, где написал
$this->layout
{ удаляем базу данных }
#5
21 сентября 2015 в 18:38
Извините, не усмотрел что файлы называются одинаково — и не указал точно.
По условию ($widget->options['menu'] == 'некое системное имя') база удаляется, но из файла:
templates\шаблон\widgets\menu\menu.tpl.php
а мне нужно из этого (надо дополнительный пункт внутрь одного из меню пихнуть):
templates\шаблон\assets\ui\menu.tpl.php
По условию ($widget->options['menu'] == 'некое системное имя') база удаляется, но из файла:
templates\шаблон\widgets\menu\menu.tpl.php
а мне нужно из этого (надо дополнительный пункт внутрь одного из меню пихнуть):
templates\шаблон\assets\ui\menu.tpl.php
#6
21 сентября 2015 в 19:24
В этот файл передаются только пункты выводимого меню. Без правки файла \system\core\template.php не обойтись.templates\шаблон\assets\ui\menu.tpl.php
Но есть такой вариант: в нужном вам файле доступен массив со всеми меню и всеми пунктами меню. Вызывается просто
$this->menus
#7
21 сентября 2015 в 20:05
Ну если из админки добавить этот пункт по каким-то соображениям нельзя, значит нужно воспользоваться специально обученным методом addMenuItem(системное_имя_меню, параметры), то есть как-то так
#8
21 сентября 2015 в 22:05
Друзья, спасибо огромное!
Буду мучиться (боюсь, там ещё некий блок вставить нужно будет)
Буду мучиться (боюсь, там ещё некий блок вставить нужно будет)
#9
22 сентября 2015 в 09:30
Не плачь Олег Васильевич, не можем достать нативными средствами, значит достанем в лоб…
<?php $menu_name = cmsCore::getInstance()->db->getField('menu', 'id='.$menu[0]['menu_id'], 'name'); echo '<h1 style="color:red">'.$menu_name.' (id = '.$menu[0]['menu_id'].')</h1>'; } ?> <ul class="<?php echo $css_class; ?>"> <?php if ($max_items){ // // Считаем количество пунктов первого уровня // $first_level_count = 0; $first_level_limit = 0; $index = 0; ................................................... ................................................... ...................................................
#10
22 сентября 2015 в 17:40
Pasha, спасибо огромное, база успешно удалена!
Не плачь Олег Васильевич, не можем достать нативными средствами, значит достанем в лоб…