Добавлено: 09.01.2020 / 19:19
# cuHyc (09.01.2020 / 18:07)
а если мне в default нужно прописать условие для news/index
<?php if ($this->layout('news::news/index'): ?>
- не прокатывает, ругается на синтаксис
ну то есть у меня по сценарию кнопки доб
У тебя сама логика неверна.
Данное условие ты прописываешь в шаблоне.
А вызвынный шаблон может быть ТОЛЬКО (!!!) с именем
news::news/index и никак иначе.
Если ты один и тот же шаблон вызываешь из разных скриптов (что вполне возможно, чтоб избежать дублирования кода) и тебе важно В ШАБЛОНЕ знать, откуда он был вызван, используй доп. переменную, которую передаешь из скриптов в шаблон.
Добавлено: 09.01.2020 / 19:20
У шаблона не может быть несколько имен.
Это как в классах РНР, есть неймспейс и есть имя класса. Двоих не дано.
Добавлено: 09.01.2020 / 19:28
Простой пример:
Мне надо было в сайдбаре (менюхе) админки подсветить тот пункт, который в настоящий момент вызван. Конечно можно было бы воспользоваться данными из роутера, но поступил проще...
1) В шаблон может быть передана (к примеру) переменная $usr_menu, которая является массивом.
2) В раскрывающемся блоке сайдбара
я проверяю, есть ли эта переменная, если есть, раскрываю блок.
3) В конкретном пункте меню, я
проверяю, есть ли эта переменная с заданным ключем. Если есть, подсвечиваю пункт как активный.
4) Ну и в конкретном шаблоне модуля, я
передаю в шаблон нужную переменную, чтоб подсветить нужный пункт менюхи..