Добрый день!
Не могу динамически изменить metatag при включенном кешировании отображения views, которое отвечает за вывод терминов таксономии. Нужно подставлять кол-во результатов.
<?php
.. _preprocess_html(&$vars)..
$total_item = 0;
if ($pager_item = \Drupal::service('pager.manager')->getPager()) {
$total_item = $pager_item->getTotalItems();
}
$vars['head_title']['title'] = $total_item;
?>
Что странно, на сайтах который делал ранее, мета меняется и добавляется в кэш вместе с вьюхой (текущим отображением).
Тут дали другой сайт и такой метод не работает.
Т.е. пробовал в hook_metatags_alter, template_preprocess_html - первый раз отображается правильно (найдено 12 постов), а после перезагрузки страницы слетают - (найдено 0 постов).
Добавлял в
<?php
_views_pre_view(ViewExecutable $view, $display_id, array &$args)
$view->addCacheContext('url.path');
?>
и в _preprocess_html
<?php
$vars['#cache']['contexts'][] = 'url.path';
?>
Не помогает.
Кто сталкивался, подскажите куда копать?
Комментарии
В общем решил проблему, но окончательно не докопался до сути.
Выводилась страница термина через представление и блок регионов этого-же представления. Т.е. два вывода на одной странице с одного представления и кэш как-то не так при этом садится (фиксируется).