У меня есть меню с 2 подуровнями: / news / current-news / - на уровне «current-news» верхний элемент списка «news» правильно выбирает «current_page_parent» учебный класс. Пунктов на этой странице слишком много, чтобы поместить их в качестве третьего уровня меню. Это трейлеры с нумерацией страниц. Когда вы нажимаете на один из этих тизеров, URL-адрес будет / news / current-news / item-title - на этой странице я хочу, чтобы основной элемент «новости» в меню все еще выбирал «current_page_parent» 'класс - это возможно, так как это ребенок в URL, но не в структуре меню? Моя веточка для меню:
{% if menu %}
<ul class="nav-main">
{% for item in menu.get_items %}
<li class="nav-main-item{{ item.classes|join(' ') }}" role="menuitem"
{% if item.children %}role="menuitem" aria-haspopup="true" aria-expanded="false" tabindex="0"{% endif %}>
<a class="nav-main-link" href="{{ item.get_link }}">{{ item.title }}</a>
{% if item.get_children %}
<ul class="nav-drop">
{% for child in item.get_children %}
<li class="nav-drop-item {{ child.classes | join(' ') }}">
<a class="nav-drop-link" href="{{ child.get_link }}">
<div class="menu-item-title">{{ child.title }}</div>
<div class="menu-item-description">{{ child.post_content }}</div>
</a>
</li>
{% endfor %}
</ul>
{% endif %}
</li>
{% endfor %}</ul>{% endif %}
и из шаблона php страницы:
<?php
/**
* Template Name: Blog Landing Page
* Template Post Type: page
*/
global $paged;
if (!isset($paged) || !$paged){
$paged = 1;
}
$context = Timber::context();
$timber_post = new Timber\Post();
$context['post'] = $timber_post;
$newsArgs = array(
'post_type' => 'post',
'post_status' => 'publish',
'posts_per_page' => 6,
'paged' => $paged,
'orderby' => array(
'date' => 'DESC'
));
$context['news'] = new Timber\PostQuery($newsArgs);
Timber::render( 'layouts/layout-blog.twig', $context );