Как я могу создать правильные панировочные сухари при использовании аргументов представлений?


У меня есть пользовательский тип контента CCK для записей в блоге, и я использую представления для отображения записей в архивированном списке. Я использую два аргумента - Узел: Созданный год и Узел: Созданный месяц - для создания ежемесячных и ежегодных страниц архива, что позволяет мне создавать URL-адреса, такие как http://example.com/blog/2011 и http://example.com/blog/2011/08 . Это довольно стандартный материал, и его действительно легко сделать с помощью представлений.

В то время как страницы фактического списка архивов работают просто отлично, панировочные сухари, которые генерируют представления, таковыми не являются. С URL-адресом http://example.com/blog/2011/08 , вместо того, чтобы создавать такой след (что кажется правильным):

Titles = Home > Blog  > 2011       > August  
URLs   = /      /blog   /blog/2011   /blog/2011/08  

… Представления генерируют этот неверный след из хлебных крошек:

Titles = Home > Blog  > 2011  > August  
URLs   = /      /blog   /blog   /blog/2011  

URL-адрес, сгенерированный для аргумента "год", указывает на /blog, а не на /blog/[yyyy], а сгенерированный URL-адрес для аргумента "месяц" указывает только на год, а не на месяц.

Спускаясь на один уровень (к http://example.com/blog/2011 ) создает аналогичную проблему:

Titles = Home > Blog  > 2011
URLs   = /      /blog   /blog   

В обоих случаях ни один из URL-адресов аргументов не выводится правильно, в то время как их заголовки выводятся правильно.

Мои настройки для каждого из аргументов в представлениях довольно стандартны: Настройки месяца и Настройки года . Путь для отображения страницы - это просто "блог".

Что вызывает это странное поведение хлебных крошек и как я могу это исправить?

Спасибо!

Author: Andrew, 2011-08-08

2 answers

Настройки заголовка и хлебной крошки часто очень запутанны. Drupal обычно не отображает текущую страницу как часть панировочных сухарей, и именно так работают настройки представлений.

Вам нужно иметь в виду, что вы задаете заголовок для текущей страницы, но не для предыдущей в иерархии. Это означает: "что я хочу добавить в панировочные сухари при отображении этой страницы".

Узел: Год создания
Название: Архив блога для %1
Хлебная крошка: Блог

Узел: Месяц создания
Название: Архив блога для %2 %1
Панировочный сухарь: %1

Это должно исправить для вас соответствие меток и ссылок. Если вы используете тему, которая добавляет текущую страницу в панировочные сухари, или вам все равно нужна ссылка на текущую страницу в панировочных сухарях, дайте мне знать больше о теме, которую вы используете, и если это нормально, чтобы там был заголовок текущей страницы. Ваше здоровье!

 2
Author: Jan Tomka, 2011-08-12 07:35:35

Проверьте модуль Пользовательские панировочные сухари, который поддерживает Представления . Вот цитата об этом (со страницы проекта модуля):

Панировочные сухари на Заказ 1:

Позволяет администраторам настраивать параметризованные маршруты трассировки для любого типа узлов. Это позволяет типам узлов в стиле CCK иметь "Главная страница > Блог пользователя > 2005 > Январь" на самой странице просмотра узла, четко синхронизируясь с пользовательскими представлениями или псевдонимами pathauto. Панировочный сухарь видимость может быть настроена с помощью фрагмента php.

Панировочные сухари на Заказ 2:

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

В дополнение к видимости хлебных крошек, это версия предоставляет опцию, позволяющую использовать фрагменты PHP-кода для формирования заголовков и путей. Также поддерживается несколько языков.

 5
Author: acouch, 2020-06-15 09:13:00