Эй.Я собирался создать «текущий» класс для моего компонента меню, который создает меню.Чтобы узнать текущий класс, было предложено использовать $this>getContext()->getRouting()->getCurrentRouteName();
.Для этого мне нужно было настроить маршруты для всех элементов меню, которые должны были существовать.
Допустим, у меня пока есть два элемента: один для главной страницы, другой для клиента.Всякий раз, когда я просматриваю главную страницу, независимо от того, какое действие и параметры, я хотел бы, чтобы приведенный выше код возвращал "главную страницу".То же самое касается клиента.
Мое правило для клиента теперь следующее: routing.yml
customer:
param: { module: customer }
Я думал, что настройка URL не важна, я уже указал модульбыть клиентом.Элемент меню должен иметь «текущий» класс независимо от используемого действия.
Как я связываю:
if ($current == $name){
echo link_to($name, $link, array("class" => "selected"));
}else {
echo link_to($name, $link);
}
Ссылки ($ link), которые теперь переходят к «customer / some_action», неработа, они отображаются как просто "/".Поэтому я решил использовать url_for вокруг ссылки $, которая тоже не работала, тот же результат.
Должно быть, что-то не так с моими правилами маршрутизации ... Потому что, когда я ввожу, скажем скажем / customer / new вручнуюЯ могу видеть страницу.Если я из шаблона выписываю $this>getContext()->getRouting()->getCurrentRouteName();
, там написано default.Так что мое правило определенно не работает вообще.Я тоже пробовал другие правила, но никто не работает.Хитрость заключается в том, чтобы создать одно правило, которое работает для всех под модулем заказчика.
И да, я очищаю свой кеш после изменения каждого из моих правил.
Большое спасибо.
РЕДАКТИРОВАТЬ: я заставил правила маршрутизации работать, но не для всех действий в модуле клиента.Я должен установить правила для каждого действия.Но ссылки все еще не работают, они показывают "/".
Мои новые правила:
customer_index:
url: /:module
param: { module: customer, action: index }
customer_new:
url: /:module/:action
param: { module: customer, action: new }
Ни одна из этих ссылок не работает: echo link_to("Customers", "@customer_index", array("module" => "customer"));
echo link_to("New customer", "@customer_new", array("module" => "customer"));