Хлебные крошки исчезают при использовании Views

Главные вкладки

Аватар пользователя EducatedFool EducatedFool 10 июля 2011 в 13:52

Здравствуйте.
Поиск и чтение Issues не помогли, поэтому вынужден обратиться за советом к сообществу.

Установил модуль [module=Menu Minipanels], и использую Views для наполнения этой панели
(для примера наведите указатель мыши на пункт Примеры программ)

До этого хлебные крошки работали как надо (использую модули Hansel, Taxonomy breadcrumb и т.п.)
Проблему отображения breadcrumbs при выводе Views решил, добавляя во вьюсы PHP-заголовки с вызовом drupal_set_breadcrumb.

Теперь же на всех страницах сайта в хлебных крошках выводится только ссылка на главную страницу.
О причинах этого догадываюсь - поскольку модуль [module=Menu Minipanels] выводит панель в конце страницы,
ранее определённые другими модулями breadcrumbs переопределяются вьюсом из мини-панели.

(если на панели не выводить вьюсы - хлебные крошки работают)

О описании модуля [module=Menu Minipanels] сказано, что вывод панели необходимо производить после вывода всей страницы, иначе что-то там может не работать (по крайней мере, так я понял)

Вопрос: как сделать так, чтобы при вывод View (на мини-панели в меню) на любой странице сайта не очищал "хлебные крошки"?

PS: С Drupal я пока ещё "на Вы", так что, если можно, объясните подробнее, где что можно исправить.

Комментарии

Аватар пользователя AI AI 10 июля 2011 в 14:08

Похоже, что проблема не в menu_minipanels, а в том, что кто-то (этот модуль либо вьюс) полностью переопределяет крошки, где бы они ни были.
Соответственно, на нужных страницах сабжевый модуль в связке со вьюхой выдает нужный набор крошек (ибо автор именно такое поведение хотел реализовать). А там, где в выводе пусто, ситуация проще: модуль отработал, вьюха была вызвана, вьюхе делать ничего не пришлось, крошки были заполнены пустым местом (или вовсе не были заполнены, х.з. как там вьюха настроена у автора), затем произошло переопределение крошек на пустое значение...
Как-то так...
Решение:
1. Проверить, прав ли я в своем предположении.
2. Ввести проверку в нужном месте на необходимость переопределения крошек и делать/не_делать это самое переопределение.

Аватар пользователя EducatedFool EducatedFool 10 июля 2011 в 15:10

"AI" wrote:
Похоже, что проблема не в menu_minipanels, а в том, что кто-то (этот модуль либо вьюс) полностью переопределяет крошки, где бы они ни были.

Спасибо, всё именно так и есть.
Попробовал вывести другой (простейший) вьюс - всё работает, крошки не исчезают:
http://ExcelVBA.ru/pictures/20110710-rt8-36kb.jpg

Осталось понять, почему существующий View обрезает крошки...
В нем для некоторых Display-ев был в заголовке прописан код формирования крошек:

<?php 
global $base_url;
$breadcrumb[] = l('Главная'null);
$breadcrumb[] .= l('Список программ''');
drupal_set_breadcrumb($breadcrumb);
?>

но, после того, как я удалил этот код, проблема не исчезла.
Добавление подобного кода в простейший вьюс (с которым крошки работают) не помешало крошкам выводиться.

Так что проблема где-то в другом месте вьюса.
Но тут я уж сам попробую разобраться.

Спасибо за ответ!

Аватар пользователя EducatedFool EducatedFool 10 июля 2011 в 15:58

Разобрался, наконец-то, как сделать, чтобы и вьюс в мини-панели выводился, и хлебные крошки не исчезали.
(помог "метод научного тыка")

Оказывается, надо, чтобы на мини-панели выводился Display типа Block, - тогда крошки не исчезают.
Если на мини-панель выводить Display типа "страница" - breadcrumbs исчезают.
(почему так - не понял. ну да ладно, - главное, результат достигнут)

Вообще, конечно, для вывода на мини-панель есть специальный Display - "Фрагмент панели",
но при попытке его использовании в мини-панели выскакивает ошибка
(которая в Issues описана, но решения там я так и не нашел)

Аватар пользователя IStranger IStranger 29 июля 2011 в 9:37

Простите, что не совсем по теме, но поиском на Вас вышел.
Искал тут простой, гибкий и безболезненный способ установить Вьюхе произвольные крошки. Поскольку путевых модулей не нашел, решил использовать drupal_set_breadcrumb.

"EducatedFool" wrote:
Проблему отображения breadcrumbs при выводе Views решил, добавляя во вьюсы PHP-заголовки с вызовом drupal_set_breadcrumb.

Вот только куда именно вписать вышеозначенный код сразу не сообразил. Единственная мысль - создать отдельный шаблон вывода вьюхи и там куда-нить вставить. Может просто поле какое-то хитрое есть, никак не найду.

UPDATED:
Все, сам разобрался. Надо было модуль "PHP filter" включить и в "Настройка сайта/Форматы ввода" добавить "PHP code" Smile
Но за идею спасибо )

Аватар пользователя corma corma 1 февраля 2012 в 11:23

Здравствуйте, если не затруднит, помогите чайнику, объясните подробно, пошагово, как с помощью модуля menu_minipanels создать подобное меню как на Вашем сайте. Буду очень признателен, так как подробную информацию найти не получилось, Drupal 7 только начал осваивать.
Заранее спасибо.

Аватар пользователя EducatedFool EducatedFool 1 февраля 2012 в 22:04

Как создать - уже толком не помню, да и Drupal у меня 6 версии.

Вкратце: создано 2 мини-панели по следующим шаблонам:

Панель «Макросы VBA Excel» Две колонки + верх/низ
Панель «ПРИМЕРЫ ПРОГРАММ» Три колонки 33/34/33 + верх/низ

Порядок действий:

1) добавляем мини-панель

2) задаём для неё шаблон:

3) создаём Views, которые мы будем выводить в мини-панелях:

4) размещаем созданные вьюхи в нужных блоках

5) смотрим, что получилось: