Эй. Я собирался создать «текущий» класс для моего компонента меню, который создает меню. Чтобы узнать текущий класс, было предложено использовать $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), что в настоящее время идут в "клиент/some_action" не работает, они появляются, как только "/". Поэтому я думал использовать url_for вокруг ссылки $, которая тоже не сработала, тот же результат.
Должно быть что-то не в порядке с правилами моей маршрутизации ... Потому что, когда я вхожу, давайте скажем/клиент/новый вручную, я вижу страницу. Если я из шаблона напишу $this>getContext()->getRouting()->getCurrentRouteName();
, он говорит по умолчанию. Так что мое правило определенно не работает вообще. Я тоже пробовал другие правила, но у меня никого не было. Хитрость заключается в том, чтобы сделать одно правило, которое работает на что угодно под клиентом модуля.
И да, я очищаю свой кеш после изменения каждого из моих правил.
Большое спасибо.
EDIT: Я применил правила маршрутизации, но не для всех действий в рамках модуля клиента. Я должен делать правила для каждого действия. Но ссылки все еще сломаны, они показывают «/».
Мои новые правила:
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"));