@sunsexsurf
IT & creative

Как переиспользовать div navigation на всех страницах?

Есть блок навигации на сайте:
<nav class="navigation block">
        <a class="nav-link active" href="/">Главная</a>
        <a class="nav-link" href="/xxx">xxx</a>
        <a class="nav-link" href="/yyy">yyy</a>
        <a class="nav-link" href="/zzz">zzz</a>
    </nav>

Поправлено:
как правильно унаследовать шаблон во Фласке, чтобы при посещении каждой странички из навигационного меню, становился активным именно выбранный блок? если наследовать то, что сейчас есть - nav-link active сохраняется для /index.html, а хотелось бы, чтобы это все как-то динамически жило.
  • Вопрос задан
  • 77 просмотров
Решения вопроса 1
ArsenyMatytsyn
@ArsenyMatytsyn Куратор тега CSS
CEO iAmStudio, предприниматель.
Нус в общем Роман ответил в комментариях по делу, разве что я бы порекомендовал проверять подстроку, так как request.path может содержать вложенную директорию, к примеру, а проверка в духе if '/' in request.path (не помню точно, умеет ли в такие проверки Jinja2, но если что можно функцию набросать).

Но тут будет другая проблема, что есть пути частично совпадают, тогда проверка будет провдена в обоих случаях, поэтому ИМХО, лучше поднимать из шаблона, который наследует или прямо из функции, которая запускает рендер идентификатор, проверка которого и будет в шаблоне в этой навигации.

Скажем в роутах:
...
render_template('template', current='home')

И в самих шаблонах:
<nav class="navigation block">
    <a class="nav-link {% if current == 'home' %}active{% endif %}" href="/">Главная</a>
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы