Как добавить активный класс, если текущий URL соответствует заданному (ветка) - PullRequest
0 голосов
/ 22 апреля 2019

Я хочу написать вручную боковое меню для магазина на opencart, и у меня возникла проблема - как заставить веточку добавить класс «активный» в ссылку для текущей страницы

Я пытался сделать это так

<a href="/something/" class="list-group-item {{ (app.request.attributes.get('_route') == 'something') ? 'active' }}">page about something</a>

но это не работает

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Это именно то, что делает модуль категории, поэтому вы можете скопировать его:

{% if child.category_id == child_id %}
    <a href="{{ child.href }}" class="list-group-item active">&nbsp;&nbsp;&nbsp;- {{ child.name }}</a> 
{% else %} 
    <a href="{{ child.href }}" class="list-group-item">&nbsp;&nbsp;&nbsp;- {{ child.name }}</a>
{% endif %}

Вы можете найти файл выше здесь:

/catalog/view/theme/default/template/extension/module/category.twig

Вы можете найти его контроллер здесь:

/catalog/controller/extension/module/category.php
0 голосов
/ 23 апреля 2019

Они сделали бы так, чтобы это был запрос маршрута в файле телефона контроллера.Это будет что-то вроде следующего:

$urlroute = $this->request->get['route'];

Тогда в файле ветки вы можете просто проверить переменную маршрута в запросе IF

{% if urlroute ==  "something" % }
    <a href="/something/" class="list-group-item active">page about something</a>
{% else %} 
    <a href="/something/" class="list-group-item">page about something</a>
{% endif %}
...