БлогРешение проблем с хлебными крошками в Drupal 7 раз и навсегда

Предисловие

То, что меня раньше всегда раздражало при построении хлебных крошек - это то, что модули есть только для отдельных частей сайта. Есть для материалов - Custom Breadcrumbs (хотя вроде во второй версии там сделан ряд доработок, но всё равно сомнительно), для панелей - Panel Breadcrumbs (кстати, работают не всегда корректно), Hansel - вообще сложно сказать для чего. Для хлебных крошек на статичных страницах модуля вообще не было до появления первой версии моего Path Breadcrumbs. И вот такой набор модулей кое-как справлялся с созданием навигационной линейки для сайта. Однако даже это работало для большинства страниц, но не для всех. Я уже молчу о разнице в интерфейсе и возможностях модулей (не всегда даже есть возможность сделать крошку текстом, а не ссылкой). В общем, мне это порядком надоело и я решил написать модуль, который будет справляться с любыми хлебными крошками для любых страниц. И надо сказать - это у меня получилось.

Описание

Я рад представить вам своё новое творение - Path Breadcrumbs 2. Это модуль, который умеет строить хлебные крошки для абсолютно любых страниц (как статичных, так и динамичных). Удобный интерфейс (частично слизан с page manager'a) позволяет быстро и красиво строить навигационную линейку по крошкам. В результате кропотливого труда создан модуль, который позволяет заменить все остальные для построения хлебных крошек.

Почему надо использовать именно этот модуль:

1. Можно добавлять статическую страницу и задать хлебные крошки только для неё.

2. Можно добавить динамическую страницу (например, node/%node). В этом случае в навигационных ссылках можно будет использовать токены для замены.

3. Модуль не привязан ни к нодам, ни к вьюсам, ни к панелям и т.д. (в отличие от других модулей для хлебных крошек). Всё, что ему необходимо - это URL, на котором будет выведены навигационная линейка.

4. Имеются правила показа хлебных крошек. Это значит, что для одной и той же страницы могут показываться разные хлебные крошки! Например, можно показать одну навигацинную линейку для анонимов, а другую - для остальных пользователей. Если же взять пример для материалов - то можно показывать хлебные крошки в зависимости от типа материала, его статуса, значений полей и многого другого. Ниже приведён скриншот, на котором частично указаны возможные правила показа:
path_breadcrumbs.png

5. Есть возможность отключить хлебные крошки для любой страницы и включить их позже.

6. Поддержка мультиязычности: все заголовки хлебных крошек можно перевести.

7. Возможность указать хлебную крошку без ссылки (т.е. просто текстовую).

8. Как уже упоминалось - удобный интерфейс.

9. Теперь все хлебные крошки хранятся в одном месте и действительно работают.

Установка модуля

Модуль зависит от Chaos Tools. Поэтому для установки моего модуля придётся поставить сначала этот. Далее всё как обычно - скачали модуль, разархивировали в /sites/all/modules, перешли на страницу /admin/modules и включили. Включать, кстати, надо два модуля: Path Breadcrumbs (ядро) и Path Breadcrumbs UI (интерфейс пользователя).

Настройка модуля

Тем, кто уже работал с модулем Page Manager интерфейс будет знакомым. Остальным же придётся совсем немного разобраться.

Для создания хлебной крошки перейдите на страницу /admin/structure/path_breadcrumbs и нажмите на Create path breadcrumbs:

path_breadcrumbs_1.png

Перед вами развернётся первый шаг создания хлебных крошек:

1_1.png

Здесь Path name - это любое название для навигационной линейки, которое будет отображаться в списке всех хлебных крошек. Path - путь, на котором будут выводиться хлебные крошки. На скриншоте я решил создать навигационную линейку для материалов.

Следующий шаг предложит вам выбрать для введённых заменяемых частей урла (например, %node) связь к сущностям сайта. Для этого напротив аргумента нажмите кнопку Change:

path_breadcrumbs_2.png

Вам откроется такое окно с выбором сущностей:

path_breadcrumbs_3_0.png

Выбираете нужную сущность (в нашем случае - Node: ID). Нажимаем далее. Может появиться окно с настройками сущности - просто выберите то, что необходимо для вашей ситуации (в большинстве случаев можно сразу нажать кнопку "Finish").

Теперь сущность привязана к аргументу:

2_0.png

Следущий шаг - это выбор условий, при которых будет показана навигационная линейка. Для примера можно показать её только для материалов типа Article. В выпадающем списке выбираем тип материала и нажимаем кнопку ADD:

path_breadcrumbs_4.png

После добавления появится попап с выбором доступных типов материалов:

path_breadcrumbs_5.png

Отмечаем нужный тип материала и жмём Save. В форме видно, что мы добавили условие:

path_breadcrumbs_6.png

Условий, можно добавлять неограниченное количество. Чуть ниже расположена форма выбора логики проверки условий: все добавленные условия должны выполняться, или же хотя бы одно.

Последний шаг - составление хлебных крошек:

path_breadcrumbs_7.png

Translatable - флаг, обозначающий, будут ли заголовки хлебных крошек доступны для перевода.
Prepend Home link to the Breadcrumbs - флаг, отвечающий за добавление ссылки "Главная" в начале навигационной линейки.

Далее идёт таблица с хлебными крошками. Думаю, тут всё интуитивно понятно и не требует объяснений.
Нажимаем на кнопку сохранения.

Substitutions - Список токенов для автозамены.

Результат работы

А вот и результат создания навигационной линейки:

path_breadcrumbs_8.png

Дополнительно

Модуль позволяет делать неограниченное количество навигационных линеек для любых путей (даже для одинаковых). Поэтому при переборе подходящих вариантов для страницы предпочтение будет отдано варианту с наименьшим весом (чем выше вариант в списке - тем меньше вес):

path_breadcrumbs_9.png

Страница с модулем Path breadcrumbs. Пользуйтесь на здоровье!

UPDATE (09.06.2012)

Модуль научился делать ещё кое-что:

  • Появилась возможность импорта / экспорта.
  • Появилась возможность клонировать навигационную линейку.
  • Добавлена возможность скрыть хлебные крошки, если она содержит всего 1 элемент.
  • Добавлена поддержка микроформатов RDFa для хлебных крошек.
  • Теперь вы сами можете указать символ, который будет разделителем для хлебных крошек
  • Добавлен токен, который выводит заголовок текущей страницы.
  • Добавлены токены, который позвляют использовать значение аргументов из урла.
  • К крошкам добавлены классы 'odd', 'even', 'first', 'last' в зависимости от их позиции в линейке.
  • Поправлены стили для формы добавление крошек.

UPDATE (13.06.2012)

Один из наиболее частых вопросов - как сделать хлебные крошки для поля таксономии. На скриншоте пример для поля field_category (таксономия с иерархией):

path_breadcrumbs_0.png

А вот результат таких настроек:

path_breadcrumbs_10.png

Видео по работе с модулем


Комментарии

Аватар пользователя ioskevich
ioskevich написал:

А динамические крошки умеет строить? Например, выводить для одной и той же странице разные крошки, в зависимости откуда на нее пришел?

07.06.2012 16:07
Аватар пользователя ioskevich
ioskevich написал:

SUB.

07.06.2012 16:10
Аватар пользователя Spleshka
Spleshka написал:

Там есть возможность ввода PHP кода для критерия показа. Так что ответ - ДА.

07.06.2012 16:17
Аватар пользователя Виталёк
Виталёк написал:

А можно по подробнее, как это сделать, то же интересует этот вопрос. У меня каталог товаров, есть термин "Портмоне", есть термин"Визитницы", есть товар "Портмоне с визитницей" который привязан к обоим терминам. И при открытии этого товара выстраивается такая цепочка: "Главная » Каталог » Визитницы » Портмоне", а я хочу сделать что бы если заходишь в товар через термин "Портмоне" выстраивалась цепочка: "Главная » Каталог » Портмоне" без пункта "Визитницы", а когда заходишь через термин "Визитницы", выстраивалась бы цепочка: "Главная » Каталог » Визитницы ", без пункта "Портмоне". Можно подробно описать как этого добиться с примером кода для моего случая. Использую 3-ю версию модуля.

07.05.2013 14:37
Аватар пользователя impolya
impolya написал:

за модуль спасибо)

07.06.2012 16:11
Аватар пользователя drup.by
drup.by написал:

А почему бы не сделать как в page manager :
чтобы были системные страницы ,типа /node/%node ,/user/%user , /taxonomy/term/%taxonomy_term , которые будут выключены по умолчанию и при желании включены и добавлены нужные варианты в зависимости от выбранных рулесов ,
а все остальные добавлялись через local action "добавить кастомный Breadcrumb " ?
так было бы интуитивно более понятно и знакомо .

07.06.2012 19:09
Аватар пользователя Spleshka
Spleshka написал:

В принципе, идея неплохая. Можно добавить такие варианты по умолчанию, согласен.

07.06.2012 20:31
Аватар пользователя Юрий
Юрий написал:

Привет
На завершающем шаге создания вылетает сообщение в браузер

PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null: INSERT INTO {path_breadcrumbs} (name, machine_name, path, data) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3); Array
(
[:db_insert_placeholder_0] =>
[:db_insert_placeholder_1] =>
[:db_insert_placeholder_2] =>
[:db_insert_placeholder_3] => a:6:{s:6:"titles";s:8:"Блог";s:5:"paths";s:4:"blog";s:4:"home";i:1;s:12:"translatable";i:0;s:9:"arguments";N;s:6:"access";a:0:{}}
)
в функции path_breadcrumbs_save() (строка 210 в файле sites/all/modules/path_breadcrumbs/path_breadcrumbs.module).

07.06.2012 20:19
Аватар пользователя Spleshka
Spleshka написал:

А как у тебя получилось не заполнить имя навигационной линейки?

07.06.2012 20:32
Аватар пользователя Юрий
Юрий написал:

Наверно я нажал "Назад"

07.06.2012 20:41
Аватар пользователя Spleshka
Spleshka написал:

В какой момент? Там всё кэшируется после любого нажатия на кнопку.. Не мог бы ты воспроизвести последовательность действий, которая привела к этой ошибке?

07.06.2012 21:14
Аватар пользователя Юрий
Юрий написал:

не понятно, теперь все нормально
анамалия

07.06.2012 21:38
Аватар пользователя Илья Петровский
Илья Петровский написал:

а нечто похожее для 6-ки существует?

08.06.2012 03:08
Аватар пользователя Spleshka
Spleshka написал:

не встречал

08.06.2012 14:19
Аватар пользователя unic
unic написал:

"Hansel - вообще сложно сказать для чего"
Ну даёте... Разобрались бы, Hansel - для "всего". Зачем свой велосипед?

08.06.2012 09:26
Аватар пользователя Spleshka
Spleshka написал:

Хорошо. Если у меня есть страница например /test-page/[nid]/comments/[uid], я могу для неё вывести навигацию типа Главная > Заголовок ноды > Комментарии (кол-во комментов) > Имя пользователя? Причём nid должен пренадлежать типу материлов news. Для другого типа материала - другая навигационная линейка. Причём при всём этом она показывается только для анонимов, а авторизованные видят более навороченную линейку. Или вытянуть из URL ID любой сущности, даже кастомной, и использовать токены для неё? Это возможно с помощью Hansel?

08.06.2012 14:10
Аватар пользователя Гость
Гость написал:

В ханселе существют переключали по типу
url argument
php
node id
node type
node age
path alias

Которых хватает почти на все случаи жизни, например, при использовании path alias можно менять хлебные крошки в зависимости от алиаса страницы или части алиаса, причем менять можно многократно и создавать сложные цепочки с различными условиями и переключателями по разным условиям

Так же поддерживается токены благодаря чему можно выстроить желаемую цепочку
Главная > Заголовок ноды > Комментарии (кол-во комментов) > Имя пользователя

Вот можно ли делать разные цепочки для разных ролей точно не скажу, но скорее всего да с переключателем php

09.06.2012 12:26
Аватар пользователя Spleshka
Spleshka написал:

Может и так, я не особо хочу меряться длиной с ханселем. Но я уверен, что мой модуль будет более распространён. А знаете почему? Он банально удобнее. Хансель надо изучить и понять, в то время как у большинства вебмастеров на это нет времени. А если path breadcrumbs ничуть не хуже (а я бы сказал - лучше), то какой смысл в трате времени? Честно скажу - я разобрался в ханселе только с третьей попытки. И это при том, что во вьюсе и панелях я разобрался с первого раза и без документации. Поэтому я категорически против сложных решений, пусть даже они и приводят к нужному результату.

И дело даже не в изобретении велосипеда. Глядя в код, я бы сказал, что велосипед именно в ханселе, а мой модуль просто не успел с релизом ;) Объясню почему: весь основной фунционал моего модуля зависит от ctools и будет развиваться вместе с ним. А hansel - кастомный модуль, который полностью написал сторонними разработчиками и не известно, получит ли он развитие в дальнейшем. А вот в том, что ctools будет постоянно улучшаться - я не сомневаюсь. А следовательно, и функционал path breadcrumbs будет расти даже если я ничего не буду делать. Существует ещё масса положительных отличий от ханселя, о которых можно узнать просто поставив модуль или подробно изучив его описание.

В конце концов, наличие конкурентных модулей мотивирует разработчиков на улучшение своего проекта, от чего конечный пользователь только выиграет. Так чем вам так не нравится появление path breadcrumbs?

09.06.2012 14:51
Аватар пользователя drup.by
drup.by написал:

"Честно скажу - я разобрался в ханселе только с третьей попытки."
Вот это точно - я каждый раз когда приходится делать кастомные хлебные крошки на ханзеле
приходится по-новой вспоминать и осваивать его функционал и так постоянно , а это время , да и расстраивают такие тернистые решения .
А здесь , как и в Page manager , все понятно и визуально , и логически .

09.06.2012 15:38
Аватар пользователя dillix
dillix написал:

Спасибо за модуль, он помог мне сделать именно то, что требовалось в wiki, каталоге товаров и конечно на статичных страницах. Также хочу поблагодарить за оперативное исправление 2х найденных багов. Кажется я нашел еще парочку))
1) После выполнения всех шагов при создании крошки нажимаю кнопку Save, меня не переносит в список крошек и окошко последнего шага все также висит, хотя если я в другом окне открою список крошек, то вижу ее в списке.

2) Во вкладе Arguments нажимаю Settings и вижу что отмеченные ранее настройки не выделены чекбоксами и радиобаттонами, хотя я при создании крошки все отмечал, да и сама крошка работает как надо.

Окружение на сервере: Nginx+php-fpm 5.3.10+Drupal 7.12
На клиенте: OS X 10.6.8 браузеры Safari 5 / Opera 11.64
Сейчас продублирую эти баги в

PS: А модуль custom breadcrums так и не удалось заставить нормально работать для сложных путей, видимо он подходит только для простых проектов

11.06.2012 13:11
Аватар пользователя Spleshka
Spleshka написал:

По поводу первого бага: скорее всего у вас ctools старой версии, он немного отличается в API. Надо добавить в модуль указание минимальной версии ctools'a :)

По поводу второго - спасибо, посмотрю.

11.06.2012 14:51
Аватар пользователя dillix
dillix написал:

ctools обновил до последней dev версии, первый баг ушел, а вот второй остался.

Возможно warnings из журнала помогут:
Место:
http://example.com/admin/structure/path-breadcrumbs/arguments/change/wiki_category_with_parent/tid

Источник отсылки:
http://example.com/admin/structure/path-breadcrumbs/edit/7

Сообщение:

Warning: Missing argument 3 for ctools_term_settings_form(), called in /usr/home/example/example.com/htdocs/sites/all/modules/path_breadcrumbs/path_breadcrumbs_ui/path_breadcrumbs_ui.module on line 962 and defined в функции ctools_term_settings_form() (строка 87 в файле /usr/home/example/example.com/htdocs/sites/all/modules/ctools/plugins/arguments/term.inc).

Место:
http://example.com/admin/structure/path-breadcrumbs/arguments/change/wiki_category_with_parent/tid

Источник отсылки:
http://example.com/admin/structure/path-breadcrumbs/edit/7

Сообщение:

Notice: Undefined variable: conf в функции ctools_term_settings_form() (строка 93 в файле /usr/home/example/example.com/htdocs/sites/all/modules/ctools/plugins/arguments/term.inc).
11.06.2012 18:54
Аватар пользователя pr0g
pr0g написал:

Привет!
Спасибо за модуль, но ни как не могу найти как мне получить адрес для раздела материала.
В доступных шаблонах вижу только %node:field_section который возвращает название раздела, а как получить адрес?
Буду рад любой помощи.

P.S. Еще один вопрос, будет ли в будущем локализация для данного модуля?

11.06.2012 20:09
Аватар пользователя Spleshka
Spleshka написал:

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

По поводу локализации - да, будет.

12.06.2012 14:51
Аватар пользователя kolebas
kolebas написал:

присоединяюсь к вопросу. тоже прописал 3 ehjdyz:
home
%term:parent %term:url
%term:name %term:url
но у %term:parent путь тот же, что и у дочернего. Как сделать для него соответствующий путь?

12.06.2012 10:49
Аватар пользователя Spleshka
Spleshka написал:

%term:parent | %term:parent:url
%term:name | %term:url

12.06.2012 14:50
Аватар пользователя kolebas
kolebas написал:

Спасибо большое, работает. Еще вопрос, если можно, пробую сделать крошки подобные модулю taxonomy breadcrumb. Т.е отображение терминов к к-м принадлежит нода. выбираю node/%node , привязываю к id термина. Пункты такие
%node:parent | %node:parent:url
%node:tid | %node:tid:url
!page_title |
В итоге отображается только название страницы

12.06.2012 18:12
Аватар пользователя Angarsky
Angarsky написал:

Гибкий модуль, мне он уже нравится. Однако досадно, что на данном этапе нельзя реализовать функционал Taxonomy_breadcrumb: получить что-то типа "Главная -> Термин -> Тайтл ноды", а в частности ссылку на термин, пока не нашел как.

И еще нашел какой-то глюк с алиасом:у меня taxonomy/term/155 имеет алиас "limited". Так вот, если при создании новой цепочки хлебных крошек указать путь "limited" - ничего не работает, а если указать "taxonomy/term/155", то все ништяк.

12.06.2012 22:22
Аватар пользователя dillix
dillix написал:

У меня получилось даже так: Главная -> Термин (родительский) -> Термин (дочерний) -> Тайтл ноды:

$path_breadcrumb = new stdClass();
$path_breadcrumb->api_version = 1;
$path_breadcrumb->path_id = '5';
$path_breadcrumb->machine_name = 'wiki_node';
$path_breadcrumb->name = 'Wiki node';
$path_breadcrumb->path = 'node/%nid';
$path_breadcrumb->data = 'a:6:{s:6:"titles";s:94:"База знаний
%nid:field-wiki-category:parent
%nid:field-wiki-category:name
%nid:title";s:5:"paths";s:76:"wiki
%nid:field-wiki-category:parent:url
%nid:field-wiki-category:url
<none>";s:4:"home";i:1;s:12:"translatable";i:0;s:9:"arguments";a:1:{s:3:"nid";a:3:{s:8:"position";i:1;s:8:"argument";s:14:"entity_id:node";s:8:"settings";a:1:{s:10:"identifier";s:20:"Материал: ID";}}}s:6:"access";a:2:{s:7:"plugins";a:1:{i:0;a:4:{s:4:"name";s:9:"node_type";s:8:"settings";a:1:{s:4:"type";a:1:{s:4:"wiki";s:4:"wiki";}}s:7:"context";s:3:"nid";s:3:"not";b:0;}}s:5:"logic";s:2:"or";}}';
$path_breadcrumb->weight = -27;
$path_breadcrumb->disabled = 0;
13.06.2012 16:24
Аватар пользователя pr0g
pr0g написал:

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

    Notice: unserialize() [function.unserialize]: Error at offset 118 of 618 bytes в функции path_breadcrumbs_load() (строка 399 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs.module).
    Warning: array_merge() [function.array-merge]: Argument #2 is not an array в функции path_breadcrumbs_load() (строка 400 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs.module).
    Notice: Undefined property: stdClass::$machine_name в функции path_breadcrumbs_ui_edit_page() (строка 59 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs_ui\path_breadcrumbs_ui.pages.inc).
    PDOException: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'name' cannot be null: INSERT INTO {ctools_object_cache} (sid, obj, name, data, updated) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4); Array ( [:db_insert_placeholder_0] => b2xMFz-yqpGOsmbKB61Ids4ukiZLeckvXjGiNb569dA [:db_insert_placeholder_1] => path_breadcrumbs [:db_insert_placeholder_2] => [:db_insert_placeholder_3] => O:8:"stdClass":0:{} [:db_insert_placeholder_4] => 1339602755 ) в функции ctools_object_cache_set() (строка 75 в файле ...\sites\all\modules\ctools\includes\object-cache.inc).
 
На сайте произошла непредвиденная ошибка. Пожалуйста, повторите попытку позже.

И не дает ее удалить. Перед удалением выдает ошибки и не удаляет:

    Notice: unserialize() [function.unserialize]: Error at offset 118 of 618 bytes в функции path_breadcrumbs_load() (строка 399 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs.module).
    Warning: array_merge() [function.array-merge]: Argument #2 is not an array в функции path_breadcrumbs_load() (строка 400 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs.module).
    Notice: Undefined property: stdClass::$path_id в функции path_breadcrumbs_ui_delete_form() (строка 1142 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs_ui\path_breadcrumbs_ui.module).
    Notice: Undefined property: stdClass::$name в функции path_breadcrumbs_ui_delete_form() (строка 1146 в файле ...\sites\all\modules\path_breadcrumbs\path_breadcrumbs_ui\path_breadcrumbs_ui.module).

Ошибки скорее всего для автора модуля, все таки удалятся она должна.

13.06.2012 20:08
Аватар пользователя Spleshka
Spleshka написал:

Да, есть такой нюанс. Пока причину не нашёл - вызываются стандартные методы сериализации, а в итоге вот такая вот беда.. Причём проблема именно в сериализации, но почему - пока сложно понять.

По поводу таксономии - читайте апдейт.

13.06.2012 21:04
Аватар пользователя pr0g
pr0g написал:

По поводу вашего апдейте. Откуда вы взяли такие токены:
%node:field-section:parent:name
%node:field-section:parent:url
%node:field-section:name
%node:field-section:url

От руки забиваются?

у меня в токенах только:
%node:field-section

14.06.2012 18:51
Аватар пользователя Spleshka
Spleshka написал:

К сожалению да, о них можно только знать. Я считаю это недоработкой системы токенов.

16.06.2012 00:05
Аватар пользователя Andrex
Andrex написал:

3 года прошло а ошибку так и не исправили. -1

06.01.2016 00:56
Аватар пользователя Spleshka
Spleshka написал:

По поводу терминов вам уже ответили - всё возможно.
По поводу путей - для алиасов не задаются хлебные крошки. Так что это не баг, а фича :)

13.06.2012 21:07
Аватар пользователя kolebas
kolebas написал:

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

$path_breadcrumb = new stdClass();
$path_breadcrumb->api_version = 1;
$path_breadcrumb->path_id = '4';
$path_breadcrumb->machine_name = 'product_node';
$path_breadcrumb->name = 'product node';
$path_breadcrumb->path = 'node/%node';
$path_breadcrumb->data = 'a:6:{s:6:"titles";s:107:"Каталог товаров
%node:field_smarty_catalog:parent
%node:field_smarty_catalog:name
%node:title";s:5:"paths";s:83:"
%node:field_smarty_catalog:parent:url
%node:field_smarty_catalog:url
";s:4:"home";i:0;s:12:"translatable";i:0;s:9:"arguments";a:1:{s:4:"node";a:3:{s:8:"position";i:1;s:8:"settings";a:1:{s:10:"identifier";s:24:"Содержимое: ID";}s:8:"argument";s:14:"entity_id:node";}}s:6:"access";a:0:{}}';
$path_breadcrumb->weight = 0;
$path_breadcrumb->disabled = 0;

14.06.2012 00:05
Аватар пользователя Гость
Гость написал:

Замените в названии полей подчеркивания на тире.

14.06.2012 21:14
Аватар пользователя Гость
Гость написал:

простите, но это - чепуха

14.06.2012 22:46
Аватар пользователя Гость
Гость написал:

Что именно?

15.06.2012 02:11
Аватар пользователя Гость
Гость написал:

заменить подчеркивания на тире, т.к это во первых не работает, а во вторых в примерах токенов поля приводятся именно с подчеркиваниями

15.06.2012 10:35
Аватар пользователя Spleshka
Spleshka написал:

ну тогда напишите ишью к ядру друпала, что их система токенов - говно.

16.06.2012 00:06
Аватар пользователя kolebas
kolebas написал:

нет, подождите, хочется же разобраться, где и что я не так понимаю. Вот в "Показать Подстановочные шаблоны" стоит %node:field_smarty_catalog поле словаря таксономии, с нижними подчеркиваниями, о нем же речь, его я и вписываю. но даже если заменить его на %node:field-smarty-catalog, то результат -тот же, т.е нет результата.В чем же косяк?

16.06.2012 01:10
Аватар пользователя Spleshka
Spleshka написал:

Токен с дефисами добавляет модуль entity token. Он специально заменяет подчёркивания на дефисы, чтобы иметь отличие от стандартных токенов. Плюс добавляет дополнительный функционал.

19.06.2012 11:20
Аватар пользователя pr0g
pr0g написал:

SplasH
Ни как не могу полностью разобраться с созданием хлебных крошек. Сможешь подробнее объяснить как создаются условия для каждой крошки.
Для примера возьму опрос. Мне надо получить хлебные крошки следующего вида Главная » Опрос » Опрос 1 (последнее не является ссылкой), путь соответственно такой www.site.ru/poll/poll-1
Для данного пути крошки (Главная » Опрос » Опрос 1) я создал условия,
Опрос | poll
%node:title |
а как создать условие для пути (Главная » Опрос)? У меня пока хлебная крошка для "Опрос" выглядит так "Главная » Content Types" при чем ссылка Content Types ведет на тип материала Articles созданный Views. Откуда взялась данная крошка я не понял.

13.06.2012 15:57
Аватар пользователя Spleshka
Spleshka написал:

Не совсем понял что вы хотите сделать. Экспортируйте крошку и покажите её. Так же опишите какие урлы задействованы в навигации.

13.06.2012 21:02
Аватар пользователя pr0g
pr0g написал:
$path_breadcrumb = new stdClass();
$path_breadcrumb->api_version = 1;
$path_breadcrumb->path_id = '3';
$path_breadcrumb->machine_name = 'poll';
$path_breadcrumb->name = 'Опрос';
$path_breadcrumb->path = 'node/%node';
$path_breadcrumb->data = 'a:6:{s:6:"titles";s:22:"Опрос
%node:title";s:5:"paths";s:11:"poll
<none>";s:4:"home";i:1;s:12:"translatable";i:0;s:9:"arguments";a:1:{s:4:"node";a:3:{s:8:"position";i:1;s:8:"settings";a:1:{s:10:"identifier";s:20:"Материал: ID";}s:8:"argument";s:14:"entity_id:node";}}s:6:"access";a:2:{s:7:"plugins";a:1:{i:0;a:4:{s:4:"name";s:9:"node_type";s:8:"settings";a:1:{s:4:"type";a:1:{s:4:"poll";s:4:"poll";}}s:7:"context";s:4:"node";s:3:"not";b:0;}}s:5:"logic";s:3:"and";}}';
$path_breadcrumb->weight = -29;
$path_breadcrumb->disabled = 0;

1. Главная - site.ru
2. Опрос - site.ru/poll
3. Нода с опросом - site.ru/poll/node-poll

13.06.2012 21:32
Аватар пользователя dillix
dillix написал:

SplasH, по поводу #21 есть мысли, как исправить?

13.06.2012 22:52
Аватар пользователя Spleshka
Spleshka написал:

в последнем релизе вроде поправил. Я, правда, уже почти спал когда комитил, так что не помню вошёл фикс или нет :) Если не сложно - проверь и отпишись.

14.06.2012 15:50
Аватар пользователя Игорь
Игорь написал:

SplasH, я пытаюсь подставлять токены которые вы написали %node:field_catalog:name и %node:field_catalog:url но у меня эти записи не срабатывают (на тире пробовал заменять). Друпал недавно собирал, все версии последние и ядра и модулей, можете ответить по какой причине не срабатывает? Могу доступы дать посмотреть. Среди токенов есть только запись %node:field_catalog

Кстати импорт не работает, ошибки вылазят и не удаляется импортированное правило, но об этом выше писали и вы вроде в курсе.

17.06.2012 14:22
Аватар пользователя Spleshka
Spleshka написал:

Странно что тире не срабатывают.. Хотя у меня есть одно подозрение - поставьте модуль entity и попробуйте снова, потом отпишитесь пожалуйста.

С импортом какая-то беда, буду исправлять в ближайшее время.

17.06.2012 22:49
Аватар пользователя Игорь
Игорь написал:

Ура заработало! После включения Entity API и Entity tokens (может одного достаточно было бы), спасибо за подсказку.
Но с импортом беда, бэкап сайта делал.

18.06.2012 08:45
Аватар пользователя Игорь
Игорь написал:

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

17.06.2012 15:40
Аватар пользователя kalabro
kalabro написала:

SplasH, поигралась с i18n_string, чтобы модуль более лучше переводил :)
http://drupal.org/node/1645360
Что думаешь?

18.06.2012 19:48
Аватар пользователя Spleshka
Spleshka написал:

Думаю, что это успех :) На самом деле - большое спасибо за твою работу. Обязательно потестирую и если возможно - улучшу. Хотя я уже описал в ишью, что код у тебя очень хороший. Я давно такого не видел, тем более в первых появлениях на д.орге.

18.06.2012 20:42
Аватар пользователя Андрей Л
Андрей Л написал:

Как темизировать вывод крошек? Может вынести в отдельный tpl файл?

19.06.2012 10:40
Аватар пользователя Spleshka
Spleshka написал:

А для чего вам ещё темизировать крошки? Чего не хватает в текущем функционале?

19.06.2012 11:19
Аватар пользователя Андрей Л
Андрей Л написал:

Я бы хотел выводить крошки не блоком, а списком и назначать обертку для пунктов без ссылки.
Например получить на выводе такую конструкцию:

<ul class="breadcrumbs">
	<li><span>Информация</span></li>
	<li class="current"><a href="#">Советы</a></li>
</ul>
19.06.2012 12:19
Аватар пользователя Spleshka
Spleshka написал:

Все крошки и так оборачиваются в дополнительную обёртку.
По поводу вывода списком - вам принципиально название элементов? Почему бы просто не прописать для крошек display: list-item и получить желаемый результат?

20.06.2012 10:18
Аватар пользователя Андрей Л
Андрей Л написал:

Конечно при условии написания стилей с нуля можно просто прописать display: list-item и получить желаемый результат, ну а как быть если используются css фреймворки в которых уже заданы свои стили для оформления хлебных крошек, переписывать каждый раз?
Ваш модуль обозначен вами как "Решение проблем с хлебными крошками в Drupal 7 раз и навсегда", решите пожалуйста и данное неудобство для верстальщиков.
Спасибо.

10.07.2012 15:41
Аватар пользователя glu2006
glu2006 написал:

Можно ли с помощью вашего модуля повторить функционал модуля http://drupal.org/project/menu_breadcrumb, если да то каким образом?

19.06.2012 14:21
Аватар пользователя Spleshka
Spleshka написал:

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

20.06.2012 10:06
Аватар пользователя als
als написал:

Возможно ли заставить модуль работать совместно с breadcrumb_menu?

26.09.2012 07:05
Аватар пользователя Игорь
Игорь написал:

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

19.06.2012 19:23
Аватар пользователя Spleshka
Spleshka написал:

Спасибо за хорошие отзывы о модуле.
Не совсем понятно, почему надо изменять настройки модуля? Если вы укажете путь taxonomy/term/%term, то вам ничего не надо изменять в настройках - крошки будут подхватываться автоматически.

20.06.2012 10:00
Аватар пользователя Игорь
Игорь написал:

А вот и нет если речь идет не о странице ноды, а о странице самого термина. Если создал новые термины то надо заходить в Section rules, нажимать на настройку Taxonomy: term и там в поле Terms выделять вручную новые появившиеся термины.

28.06.2012 14:09
Аватар пользователя Spleshka
Spleshka написал:

Ну правильно, это если вы выбрали там какие-то определённые термины. А там же можно ничего не выбирать - тогда будет автоматически цепляться. Или же указать просто конкретный словарь, а не термины.

28.06.2012 14:54
Аватар пользователя Игорь
Игорь написал:

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

30.06.2012 09:08
Аватар пользователя Spleshka
Spleshka написал:

Мне кажется, где-то вы допускаете ошибку. Сколько я не настраивал таксономию - ещё ни разу не возникали проблем с терминами.

30.06.2012 13:00
Аватар пользователя Александр
Александр написал:

Здравствуйте, Модуль просто замечательный! но у меня не стандартная ситуация. Есть много страниц городов которые реализованы все через "Views" . И когда я нахожусь в одном из разделов города, а в нем еще страница, мне нужно в пути вывести название города, это получается сделать отлично, но и ссылку на этот город. Сама ссылка прописана только во вьюхе, идея была просто в ПУТЬ ССЫЛКИ для хлебной крошки прописать предыдущую страницу, но как это сделать? есть какой то способ? если бы был бы какой то токен или что там может быть еще для генерации ссылки предыдущей страницы - это бы меня спасло!

20.06.2012 23:14
Аватар пользователя Spleshka
Spleshka написал:

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

21.06.2012 10:17
Аватар пользователя Александр
Александр написал:

Город является пунктом таксономии при создании материала. По нему через вьюсь сортируется где выводить созданный материла, т.е. в каком городе. Как страница таксономии "города" не используются, все через вьюс.
Главная - услуги - город - страница отсортированная по городу. Вот такая структура. Вот когда нахожусь на конечной странице у меня должен в хлебных крошках выводиться
Главная(на главную) - услуга( страница конкретной услуги) - город (выбранный город с которого перешли на последнию страницу) - конечная страница
Через токены свободно подхватывается город по которому перешли, но как сгенерировать ссылку этого города? Страница города сделана через вьюс

21.06.2012 16:11
Аватар пользователя Spleshka
Spleshka написал:

Приведите пути для каждой из страниц (кроме главной, естественно).

22.06.2012 01:51
Аватар пользователя Angarsky
Angarsky написал:

А почему после включения модуля перестает срабатывать theme_breadcrumb в template.php?

24.06.2012 02:34
Аватар пользователя Spleshka
Spleshka написал:

Он перекрывается модулем. Там даже настройка есть - использовать внутренний рендер. Если ее отключить, то функция в теме заработает, но некоторые возможности могут быть недоступны.

24.06.2012 15:25
Аватар пользователя Angarsky
Angarsky написал:

Установил модуль i18n, включил несколько языков. Установил сей модуль, добавил правило для хлебных крошек и вылезла ошибка: если имеется префикс языка (допустим ru/), то хлебные крошки начинают ссылаться на страницу ru/ru/. Вот скрин.

28.06.2012 18:05
Аватар пользователя Spleshka
Spleshka написал:

Спасибо, я это проверю и поправлю.

29.06.2012 12:41
Аватар пользователя Максим
Максим написал:

Большое спасибо за вашу работу, но модуль у меня не заработал, а точнее, скорее всего я не знаю, как его настраивать в моей ситуации. Хотя, я в настройках вашего модуля изменил заголовок домашней странице, а на сайте она осталась без изменений.
Итак, до этого стоял Custom Breadcrumbs. Отключил его полностью. Поставил вторую версию вашего модуля (beta14).

У меня Интернет-магазин на Commerce. Есть страница с товарами (Views), каждый товар обращается к кастомизированной странице, которая тоже строится с помощью Views. Вот на странице товара и нужны простейшие крошки вида Главная > Каталог. Помогите, пожалуйста

28.06.2012 18:38
Аватар пользователя Михаил
Михаил написал:

Спасибо огромное! Отличный модуль!

07.07.2012 13:59
Аватар пользователя Александр
Александр написал:

Не знаю с чем это связано, но после включения Path breadcrumbs на одном из проектов, все стандартные хлебные крошки становятся не корректными, даже в админке, и имеют ссылки например http://admin/config/administration вместо http://some.local/admin/config/administration
На других сайта все нормально работает.
В чем может быть проблема?

07.07.2012 14:43
Аватар пользователя Александр
Александр написал:

UPD. Проблема решена.
Если кому интересно, проблема решается стиранием параметра "Префикс языка" в настройках языка.

07.07.2012 14:58
Аватар пользователя Юрий
Юрий написал:

Версия beta 16. Друпал 7.14.
Для разных страниц (тип basic page) задаю разные термины таксономии, потом строю для них разные хлебные крошки. Но почему-то для всех материалов типа basic page срабатывают хлебные крошки последнего созданного правила :(

08.07.2012 13:34
Аватар пользователя Олег
Олег написал:

Как добавить урл ноды связанной с другой нодой.

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

09.07.2012 10:32
Аватар пользователя Gono
Gono написал:

Привет. Возникла проблема при настройке модуля. Немного предисловия во избежания вопросов зачем такая реализация и.т.п...
Мой сотрудник написал сайтег, деление на категории выполнено с помощью Pathauto(т.е. есть материалы about и about/companions одного типа и вторая является как подстраница первой). Задача такая на странице about вывести крошки Главная » О Компании а на странице about/companions - Главная » О Компании » Партнеры
Пробывал по разному. Не получалось(все попытки описать сейчас не получится) в итоге решил добавить правило для каждой страницы, при добавлении крошки с тайтлом О Компании и адресом node/26 все получается только ссылка выводится http://node/26 тобишь абсолютная. И т.к. ссылка на тестовом домене, а страниц много при переносе будет геморно трудно все переписывать. может подскажете как выйти из положения. Заранее благодарю.

18.07.2012 22:34
Аватар пользователя Spleshka
Spleshka написал:

Вы могли бы предоставить доступ к сайту? Мне интересно - это косяк модуля или Ваш.

28.07.2012 15:56
Аватар пользователя Gono
Gono написал:

К сожалению не могу. Сат коммерческий, и клиенту не понравится. но скажу что крошки использовались на начальной стадии(даже без темизации). Сотрудник создал типы материалов, вывел через Views и попробывал крошки прикрутить. Не получилось, я решил помочь- и результат я отписал. т.к. сроки не большие пришлось абсолютные ссылки писать. Но это не думаю что решение...

15.08.2012 14:48
Аватар пользователя Поставил!!!!
Поставил!!!! написал:

PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'newsemen.node_revisions' doesn't exist: SELECT nid FROM {node_revisions} WHERE vid = :vid; Array ( [:vid] => 21 ) в функции ctools_argument_rid_context() (строка 42 в файле Z:\home\newsemen.ia\www\sites\all\modules\ctools\plugins\arguments\rid.inc).

19.07.2012 18:52
Аватар пользователя Поставил!!!
Поставил!!! написал:

icq для связи 37022800девять

19.07.2012 18:59
Аватар пользователя Druppy
Druppy написал:

Здравствуйте, отличный модуль давно такого не хватало, но есть вопрос
Если у термина предположим 3 родителя, тогда
1й можно указать %term:root
3й %term:parent
а что делать со 2м?
к тому же один и тот же термин может являть %term:root и %term:parent

если указать %term:parents то они будут выводиться единой ссылкой, а это не вариант.

Спасибо.

25.07.2012 02:16
Аватар пользователя Druppy
Druppy написал:

И еще такой вопрос:
как вывести поштучно (каждый термин - отдельныя крошка) иерархию терминов нода.

25.07.2012 03:50
Аватар пользователя Лень авторизоваться
Лень авторизоваться написал:

%node:field_name:parent:name, %node:field_name:parent:url, %node:field_name:parent:parent:name и так далее

28.07.2012 15:54
Аватар пользователя Лень авторизоваться
Лень авторизоваться написал:

Используйте %term:parent:parent, %term:parent:parent:parent и так далее) Перед этим обязательно включите модуль Entity Tokens (входит в Entity API)

28.07.2012 15:54
Аватар пользователя sn00rk
sn00rk написал:

Использую %node:field_name:url:path - выдает лишний слэш вначале. Т.е. крошки получаются вида sitename//синоним URL термина

03.08.2012 18:07
Аватар пользователя Гость
Гость написал:

Попробуйте скачать последнюю версию модуля. Должно все быть ок.

05.08.2012 22:22
Аватар пользователя zeves
zeves написал:

благодарность

04.08.2012 09:52
Аватар пользователя PVasili
PVasili написал:

У кого получилось это чудо завести?
Кто релиз сделал? там и dev рано ставить...
Куда не ткни варнинги валятся: http://imm.io/zosl.
Попробовал удалить - не даёт http://imm.io/zodj.
Отключил и удалил - не чистит за собой таблицы. Мрак, короче...

06.08.2012 01:36
Аватар пользователя oleg5
oleg5 написал:

Path breadcrumbs не пашет с последней версией ctools 7.x-1.1

примите меры

09.08.2012 22:32
Аватар пользователя bigferumdron
bigferumdron написал:

Здрасте. Спасибо за модуль. Думаю стоит написать в апдейте про таксономию, что обязательно должен быть включен модуль entity api и entity tokens чтобы работало.

Честно сказать - модуль гибкий, но вот сходу поставил, и элементарную задачу хлебных крошек аля Главная - Термин - нода решить не смог. ПРишлось думать и читать минут 20 пока допер что токенов не хватает. Если я такой, то и других людей таких много имхо.

Удачи!

10.08.2012 15:45
Аватар пользователя Serik Yeleussizov
Serik Yeleussizov написал:

Модуль работает, но при запуске крона выдает проблемы:
Обнаружены проблемы

В следующих маркерах или типах маркеров отсутствует необходимое название и/или информация описания:

11.08.2012 10:58
Аватар пользователя nabisi
nabisi написал:

почему не показывает все возможные токены? например для составления url мне нужен node:category-type:machine-name
он доступен в path auto, а в Вашем модуле не появляться..

11.08.2012 15:26
Аватар пользователя nabisi
nabisi написал:

почему не показывает все возможные токены??? Ау? например для составления url мне нужен node:category-type:machine-name
он доступен в path auto, а в Вашем модуле не появляться..

11.08.2012 16:18
Аватар пользователя ALT
ALT написал:

Уважаемый, разработчик модуля. Подскажите, пжл, в чем может быть ошибка. Где не сделана настройка правильно модуля хлебных крошек. Сам модуль скачан был последней версии с сайта Друпала. Установил модуль. Но в админке Друпала 7.15 перестали работать хлебные крошки, когда пытаешься перейти на любую страницу в крошках, то выпадает окно с ошибкой:
Страница не найдена
Страница "/drupal715/drupal715/admin/structure/path-breadcrumbs" не найдена.
Это оттого, наверное, что в пути дублируется дважды название папки, где лежат файлы Друпала. Как это можно исправить? Если модуль хлебных крошек отключить, то тогда хлебные крошки в пути админки начинают работать нормально.

22.08.2012 00:55
Аватар пользователя kozak
kozak написал:

Спасибо за модуль. Как заставить его работать, если хлебные крошки выводятся с помощью модуля delta blocks? Если выводить через тему, то все работает

22.08.2012 11:24
Аватар пользователя dima
dima написал:

Привет. Установил модуль,. настаиваю навигационную линейку. На 3 шаге (selection rules) при добавлении условия Node : type по сабмиту открывается модальное окно и после этого вываливается такой вот аяксовый егор:

An AJAX HTTP error occurred.
HTTP Result Code: 200
Debugging information follows.
Path: http://mysite.com/ctools/context/ajax/access/add/path_breadcrumbs-ebooks/context_exists
StatusText: OK
ResponseText: [{"command":"settings","settings":{"basePath":"\/","pathPrefix":"","ajaxPageState":{"theme":"seven","theme_token":"8VwtWm81K17KKNCR3NV97I0qDj398bAlFlDTtMqK1FY"}},"merge":true},{"command":"modal_display","title":"Add criteria","output":"\u003Cform action=\u0022\/ctools\/context\/ajax\/access\/add\/path_breadcrumbs-ebooks\/node_type\u0022 method=\u0022post\u0022 id=\u0022ctools-access-ajax-edit-item\u0022 accept-charset=\u0022UTF-8\u0022\u003E\u003Cdiv\u003E\u003Cdiv class=\u0022form-item form-type-select form-item-context\u0022\u003E\n \u003Clabel for=\u0022edit-context\u0022\u003ENode \u003C\/label\u003E\n \u003Cselect id=\u0022edit-context\u0022 name=\u0022context\u0022 class=\u0022form-select\u0022\u003E\u003Coption value=\u0022node\u0022\u003ENode: ID\u003C\/option\u003E\u003C\/select\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0022form-item form-type-checkboxes form-item-settings-type\u0022\u003E\n \u003Clabel for=\u0022edit-settings-type\u0022\u003ENode type \u003C\/label\u003E\n \u003Cdiv id=\u0022edit-settings-type\u0022 class=\u0022form-checkboxes\u0022\u003E\u003Cdiv class=\u0022form-item form-type-checkbox form-item-settings-type-article\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 id=\u0022edit-settings-type-article\u0022 name=\u0022settings[type][article]\u0022 value=\u0022article\u0022 class=\u0022form-checkbox\u0022 \/\u003E \u003Clabel class=\u0022option\u0022 for=\u0022edit-settings-type-article\u0022\u003EArticle \u003C\/label\u003E\n\n\u003C\/div\u003E\n\u003Cdiv class=\u0022form-item form-type-checkbox form-item-settings-type-book\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 id=\u0022edit-settings-type-book\u0022 name=\u0022settings[type][book]\u0022 value=\u0022book\u0022 class=\u0022form-checkbox\u0022 \/\u003E \u003Clabel class=\u0022option\u0022 for=\u0022edit-settings-type-book\u0022\u003E\u041a\u043d\u0438\u0433\u0430 \u003C\/label\u003E\n\n\u003C\/div\u003E\n\u003Cdiv class=\u0022form-item form-type-checkbox form-item-settings-type-page\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 id=\u0022edit-settings-type-page\u0022 name=\u0022settings[type][page]\u0022 value=\u0022page\u0022 class=\u0022form-checkbox\u0022 \/\u003E \u003Clabel class=\u0022option\u0022 for=\u0022edit-settings-type-page\u0022\u003EBasic page \u003C\/label\u003E\n\n\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0022description\u0022\u003EOnly the checked node types will be valid.\u003C\/div\u003E\n\u003C\/div\u003E\n\u003Cdiv class=\u0022form-item form-type-checkbox form-item-not\u0022\u003E\n \u003Cinput type=\u0022checkbox\u0022 id=\u0022edit-not\u0022 name=\u0022not\u0022 value=\u00221\u0022 class=\u0022form-checkbox\u0022 \/\u003E \u003Clabel class=\u0022option\u0022 for=\u0022edit-not\u0022\u003EReverse (NOT) \u003C\/label\u003E\n\n\u003C\/div\u003E\n\u003Cinput type=\u0022submit\u0022 id=\u0022edit-save\u0022 name=\u0022op\u0022 value=\u0022Save\u0022 class=\u0022form-submit\u0022 \/\u003E\u003Cinput type=\u0022hidden\u0022 name=\u0022form_build_id\u0022 value=\u0022form-nvS3sGtqtBaryBS7oVQ2aRyZHUYqsazJDb2CaZzo7M4\u0022 \/\u003E\n\u003Cinput type=\u0022hidden\u0022 name=\u0022form_token\u0022 value=\u00220HdRGW5IP0cmktCsfx5sEt4dN0XppDN3JxtA5vA5qkY\u0022 \/\u003E\n\u003Cinput type=\u0022hidden\u0022 name=\u0022form_id\u0022 value=\u0022ctools_access_ajax_edit_item\u0022 \/\u003E\n\u003C\/div\u003E\u003C\/form\u003E"}]Drupal for Firebug General MessagesThere were no messages sent to the general log. Please use "firep($item, $optional_title)" to output messages to this console.Devel Module is Not InstalledPlease install and enable the Devel Module to display the SQL queries. $form->ctools_access_ajax_edit_item $form = (     [context] => array (          [#type] => [select]          [#options] => array (              [node] => [Node: ID]          )          [#title] => [Node]          [#default_value] => []      )      [settings] => array (          [#tree] => [1]          [type] => array (              [#title] => [Node type]              [#type] => [checkboxes]              [#options] => array (                  [article] => [Article]                  [book] => [РљРЅРёРіР°]                  [page] => [Basic page]              )              [#description] => [Only the checked node types will be valid.]              [#default_value] => array (              )          )      )      [not] => array (          [#type] => [checkbox]          [#title] => [Reverse (NOT)]          [#default_value] => []      )      [save] => array (          [#type] => [submit]          [#value] => [Save]      )      [#form_id] => [ctools_access_ajax_edit_item]      [#type] => [form]      [#build_id] => [form-nvS3sGtqtBaryBS7oVQ2aRyZHUYqsazJDb2CaZzo7M4]      [form_build_id] => array (          [#type] => [hidden]          [#value] => [form-nvS3sGtqtBaryBS7oVQ2aRyZHUYqsazJDb2CaZzo7M4]          [#id] => [form-nvS3sGtqtBaryBS7oVQ2aRyZHUYqsazJDb2CaZzo7M4]          [#name] => [form_build_id]      )      [#token] => [ctools_access_ajax_edit_item]      [form_token] => array (          [#id] => [edit-ctools-access-ajax-edit-item-form-token]          [#type] => [token]          [#default_value] => [0HdRGW5IP0cmktCsfx5sEt4dN0XppDN3JxtA5vA5qkY]      )      [form_id] => array (          [#type] => [hidden]          [#value] => [ctools_access_ajax_edit_item]          [#id] => [edit-ctools-access-ajax-edit-item]      )      [#id] => [ctools-access-ajax-edit-item]      [#method] => [post]      [#action] => [/ctools/context/ajax/access/add/path_breadcrumbs-ebooks/node_type]      [#theme_wrappers] => array (          [0] => [form]      )      [#tree] => []      [#parents] => array (      )      [#validate] => array (          [0] => [ctools_access_ajax_edit_item_validate]      )      [#submit] => array (          [0] => [ctools_access_ajax_edit_item_submit]      )      [#theme] => array (          [0] => [ctools_access_ajax_edit_item]      )  );There was no user processing.There was no node processing.There was no views processing.There was no page processing.

В чем может быть трабл?

22.08.2012 13:20
Аватар пользователя TheSharque
TheSharque написал:

Перестал отрабатывать модуль token entity в path breadcrumb. Произошло это после того, как я установил и настроил модули для импорта контента из YouTube. Сейчас ссылки выглядят вот так
Главная » Platinum Sport 2000 Plug In:name
в настройках
%node:field-menu-link:name %node:field-menu-link:url

menu-link - это термин таксономии. При этом parent так же не рендерится, а выводится прямым текстом. Что и где стоит копать и проверять?

23.08.2012 13:20
Аватар пользователя Иван Зыков
Иван Зыков написал:

А какой модуль у Вас используется для импорта? У меня та же самая проблема: не срабатывают адреса вида %аргумент:имя-поля:урл

04.09.2012 12:27
Аватар пользователя hetrus
hetrus написал:

При активации модуля апостроф в крошках (например user's blog ) преобразуется в &#039; .
Получается в моем примере крошка user&#039;s blog
Не зависимо от галочки в "Decode HTML entities"...
Это можно как-то исправить?
Спасибо за модуль. В остальном все ок.

24.08.2012 19:53
Аватар пользователя hetrus
hetrus написал:

Помог выбор RDFa в Rich snippets support.
Все теперь как надо, спасибо.

24.08.2012 20:37
Аватар пользователя kyzyl
kyzyl написал:

Спасибо, пожалуй лучшее решение для построения хлебных крошек :)

26.08.2012 21:11
Аватар пользователя kyzyl
kyzyl написал:

есть некоторая проблема, если отключены чистые ссылки, при обратной навигации по крошкам, показывает Page not found

26.08.2012 21:20
Аватар пользователя ferzito
ferzito написал:

А как поменять название Home (Главная) на разные имена для разных страниц?

30.08.2012 18:13
Аватар пользователя Иван Зыков
Иван Зыков написал:

Создать правило для определённого набора страниц, снять галочку "Prepend Home link to the breadcrumb" и создать ссылку с адресом и любым нужным Вам текстом.

04.09.2012 12:25
Аватар пользователя Иван Зыков
Иван Зыков написал:

Спасибо за отличный модуль! То, как он справляется со своей задачей - просто гениально! Правда, есть косяк :) Необходимо его исправить :). У меня не получается обращаться через токены к адресам. Например, при указании в пути ссылки:
%nid:field-places-rayon:url
Выводится "значение поля:url", а не сам урл. Модуль Entity установлен.
Я предполагаю, что может быть конфликт с чем-нибудь?

В любом случае, обидно и досадно, а модуль очень понравился. Помогите разобраться!

04.09.2012 12:22
Аватар пользователя Иван Зыков
Иван Зыков написал:

Вот пример настроек с урлом, которые не работают:

$path_breadcrumb = new stdClass();
$path_breadcrumb->api_version = 1;
$path_breadcrumb->machine_name = 'place';
$path_breadcrumb->name = 'Населённый пункт';
$path_breadcrumb->path = 'node/%nid';
$path_breadcrumb->data = array(
  'titles' => array(
    0 => 'Населённые пункты',
    1 => '%nid:field-places-rayon',
  ),
  'paths' => array(
    0 => 'places',
    1 => '%nid:field-places-rayon:url',
  ),
  'home' => 1,
  'translatable' => 0,
  'arguments' => array(
    'nid' => array(
      'position' => 1,
      'argument' => 'entity_id:node',
      'settings' => array(
        'identifier' => 'Материал: ID',
      ),
    ),
  ),
  'access' => array(
    'plugins' => array(
      0 => array(
        'name' => 'node_type',
        'settings' => array(
          'type' => array(
            'places' => 'places',
          ),
        ),
        'context' => 'nid',
        'not' => FALSE,
      ),
    ),
    'logic' => 'and',
  ),
);
$path_breadcrumb->weight = 0;
04.09.2012 12:55
Аватар пользователя Иван Зыков
Иван Зыков написал:

Свою проблему сам решаю. Вот патч, который помог:

http://drupal.org/node/1727804#comment-6395400

12.09.2012 00:08
Аватар пользователя Oleg msk
Oleg msk написал:

После тестирования (на друпале 7)выяснилось. Конфликт с модулем Clientside Validation

Перестает работать модуль (создание и редактирование крошек).

Так же раньше работали крошки для нодереференсе связанных материалов теперь это возможность ушла куда то... как добиться вывода всех нужных токенов...

04.09.2012 19:50
Аватар пользователя kozak
kozak написал:

В теме Omega крошки работают только если они выводятся стандартно в теме. Если выводить с помощью delta blocks, через блок с php кодом, через другие модули, то крошки перестают работать.

09.09.2012 11:22
Аватар пользователя stas
stas написал:

Автору спасибо за хороший модуль. Для тех, у кого не работают токены Entity API вида %node:my_term:url, можно применить временное решение - пропатчить ctools/include/context.inc заменив /%(%|[a-zA-Z0-9_-]+(?:\:[a-zA-Z0-9_-]+)?)/us на /%(%|[a-zA-Z0-9_-]+(?:[\:a-zA-Z0-9_-]+)?)/us Если после этого у вас что-то сломается, я не виноват :) Но токены должны заработать.

09.09.2012 13:54
Аватар пользователя Anton
Anton написал:

У меня и при этом не работают

26.10.2012 12:09
Аватар пользователя rujet
rujet написал:

Да. Помогло.
Но патчить Ctools при каждом обновлении не прельщает.
Может автор найдет решение для обхода проблемы.
Pathauto ведь как то работает.

04.11.2012 01:14
Аватар пользователя ula888
ula888 написал:

спасибо! помогло это)))

25.11.2012 20:42
Аватар пользователя Константин
Константин написал:

Спасибааааа!!!

05.02.2013 08:55
Аватар пользователя Oleg mask
Oleg mask написал:

stas спасибо. Токены заработали а почему их не выводит модуль в списке токены, что бы не додумыватся до них... в других же местах все нужные токены выводятся... какие модули на это влияют?

11.09.2012 10:45
Аватар пользователя stas
stas написал:

Рад, что сумел помочь :) Насколько я понял здесь проблема в интеграции ctools и entity API, так что тут единственное что можно сделать - создать issue на страницах проектов. Ну или просить Сплешку использовать альтернативные способы вывода списка токенов. Заодно что-то нужно делать с работоспособностью этих токенов 'из коробки'.

11.09.2012 20:37
Аватар пользователя Spleshka
Spleshka написал:

Всё будет, не переживайте. Пока просто нет свободного времени, чтобы вывести все токены. Там есть определённые сложности в разработке.

11.09.2012 23:17
Аватар пользователя oleg msk
oleg msk написал:

приходится токены смотреть через модуль флаг... =)) оказывается с последними версией токенов нужно url:path дописывать...

многие токены ксти не работают не толкьо в этом модуле но и в других модулях (menu token - задолбался уже)

14.09.2012 23:45
Аватар пользователя Brimwulf
Brimwulf написал:

Огромное спасибо за модуль! Сто лет искал нечто подобное :)

21.09.2012 11:53
Аватар пользователя tamonten
tamonten написал:

Великолепная вещь, теперь так легко настраивать крошки, спасибо!

22.09.2012 18:38
Аватар пользователя NaZg
NaZg написал:

Это прекрасно! Спасибо!

22.09.2012 23:12
Аватар пользователя Михаил
Михаил написал:

Иван Зыков, #111 - то, что нужно! Слетели крошки вида parent:url, на старом CTools все работает, но страшно оставлять необновленным, после патча все заработало как надо. Спасибо!

25.09.2012 20:24
Аватар пользователя Druppy
Druppy написал:

Отличный модуль, как я уже писал. Только вот не могу его заставить работать с panels и page manager , подскажите как можно решить эту проблему?

05.10.2012 00:15
Аватар пользователя Stown
Stown написал:

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

08.10.2012 12:15
Аватар пользователя Альберт
Альберт написал:

как же я запарился с вашим модулем.. ужас( дело в том что я не совсем опытный в этой теме.. не пойму где брать такие термины: "%node:field_name:parent:url" - откуда они берутся?
что такое parent? и почему name?

если "Путь ссылки" это ещё понятное поле, то что же вписывать в "Заголовок ссылки"

23.10.2012 09:03
Аватар пользователя Anton
Anton написал:

А если у ноды поле ссылка на термин как tid получить?

23.10.2012 16:51
Аватар пользователя Gono
Gono написал:

В модуле явно проблема с токенами. пробовал добавить токен %node:field-lib:name | %node:field-lib:url - ссылка получилась примерно такая <a href = "НАЗВАНИЕ ТЕРМИНА:url">НАЗВАНИЕ ТЕРМИНА:name</a>
может оно когдато работало, но сейчас ни в какую. Модуль Entity token включен

23.10.2012 18:08
Аватар пользователя Gono
Gono написал:

Пока что продолжу юзать Hansel, надеюсь исправятся косяки, так то модуль по идее шикарный.

23.10.2012 18:09
Аватар пользователя Anton
Anton написал:

Как сделать чтоб админку не трогал? А то там портит бредкрамб и из-за этого ломается отображение.

24.10.2012 12:21
Аватар пользователя Гость
Гость написал:

Или как сделать чтобы класс глубины ссылки выводил?

24.10.2012 13:08
Аватар пользователя Гость
Гость написал:

Внес коррективы в главную функцию рендеринга

function path_breadcrumbs_breadcrumb($variables) {
  $breadcrumbs = $variables['breadcrumb'];
  if (!empty($breadcrumbs)) {
 
    // Provide a navigational heading to give context for breadcrumb links to
    // screen-reader users. Make the heading invisible with .element-invisible.
    $output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
 
    // Hide breadcrumb navigation if it contains only one element.
    $hide_single_breadcrumb = variable_get('path_breadcrumbs_hide_single_breadcrumb', 0);
    if ($hide_single_breadcrumb && count($breadcrumbs) == 1) {
      return FALSE;
    }
 
    // Add options for rich snippets.
    $elem_tag = 'span';
    $elem_property = '';
    $root_property = '';
    $options = array();
    $snippet = variable_get('path_breadcrumbs_rich_snippets', PATH_BREADCRUMBS_RICH_SNIPPETS_DISABLED);
    if ($snippet == PATH_BREADCRUMBS_RICH_SNIPPETS_RDFA) {
 
      // Add link options for RDFa support.
      $options = array('attributes' => array('rel' => 'v:url', 'property' => 'v:title'), 'absolute' => TRUE, 'html' => TRUE);
 
      // Set correct properties for RDFa support.
      $elem_property = 'typeof="v:Breadcrumb"';
      $root_property = 'xmlns:v="http://rdf.data-vocabulary.org/#"';
    }
    elseif ($snippet == PATH_BREADCRUMBS_RICH_SNIPPETS_MICRODATA) {
 
      // Add link options for microdata support.
      $options = array('attributes' => array('itemprop' => 'url'), 'absolute' => TRUE, 'html' => TRUE);
 
      // Set correct properties for microdata support.
      $elem_property = 'itemscope itemtype="http://data-vocabulary.org/Breadcrumb"';
      $elem_tag = 'div';
 
      // Add style that will display breadcrumbs wrapped in <div> inline.
      drupal_add_css(drupal_get_path('module', 'path_breadcrumbs') . '/path_breadcrumbs.css');
    }
 
    foreach ($breadcrumbs as $key => $breadcrumb) {
 
      // Build classes for the breadcrumbs.
      $classes = array('inline');
      $classes[] = $key % 2 ? 'even' : 'odd';
      if ($key == 0) {
        $classes[] = 'first';
      }
      if (count($breadcrumbs) == $key + 1) {
        $classes[] = 'last';
      }
 
      // For rich snippets support all links should be processed in the same way,
      // even if they are provided not by Path Breadcrumbs module. So I have to
      // parse html code and create links again with new properties.
      preg_match('/href="([^"]+?)"/', $breadcrumb, $matches);
 
      // Remove base path from href.
      $href = '';
      if (!empty($matches[1])) {
        global $base_path;
        global $language;
 
        $base_string = $base_path;
        if (!empty($language->prefix)) {
          $base_string .= $language->prefix . '/';
        }
 
        // Means that this is href to the frontpage.
        if (drupal_strlen($base_string) > drupal_strlen($matches[1])) {
          $href = '';
        }
        // All hrefs exept frontpage.
        elseif (stripos($matches[1], $base_string) === 0) {
          $href = drupal_substr($matches[1], drupal_strlen($base_string));
        }
        // Other cases.
        else {
          // HREF param can't starts with '/'.
          $href = stripos($matches[1], '/') === 0 ? drupal_substr($matches[1], 1) : $matches[1];
        }
 
        // If HREF param is empty it should be linked to a front page.
        $href = empty($href) ? '<front>' : $href;
      }
 
      // Get breadcrumb title from a link like "<a href = "/path">title</a>".
      $title = trim(strip_tags($breadcrumb));
 
      // Wrap title in additional element for microdata support.
      if ($snippet == PATH_BREADCRUMBS_RICH_SNIPPETS_MICRODATA) {
        $title = '<span itemprop="title">' . $title . '</span>';
      }
 
      // Build new text or link breadcrumb.
      $new_breadcrumb = !empty($href) ? l($title, $href, $options) : $title;
 
	// add depth to breadcrumb
	$classes[]='breadcrumb-depth-'.$key;
 
      // Replace old breadcrumb link with a new one.
      $breadcrumbs[$key] = '<' . $elem_tag . ' class="' . implode(' ', $classes) . '" ' . $elem_property . '>' . $new_breadcrumb . '</' . $elem_tag . '>';
    }
 
    $delimiter = variable_get('path_breadcrumbs_delimiter', '»');
	$delimiter = '<span class="bc-delimiter">'.$delimiter.'</span>';
    $output .= '<div class="breadcrumb"' . $root_property . '>' . implode(' ' . trim($delimiter) . ' ', $breadcrumbs) . '</div>';
    return $output;
  }
 
  // Return false if no breadcrumbs.
  return FALSE;
}

мелочь, но нужно бывает

24.10.2012 13:44
Аватар пользователя Spleshka
Spleshka написал:

Сделайте патч, пожалуйста. Даже я на первый взгляд не могу определить разницу.

30.10.2012 00:44
Аватар пользователя skre
skre написал:

Почему то в крошках ничего не меняется раз 10 уже сделал заново.

09.11.2012 11:21
Аватар пользователя Dark_kz
Dark_kz написал:

Здравствуйте! Пробема с токенами решилась или она только у единиц возникла? Модуль Entity Tokens стоит, Chaos Tools пропатчен, но токены вида term:name и term:tid для node/%node так и не появились

20.11.2012 23:11
Аватар пользователя Spleshka
Spleshka написал:

так а откуда в node/%node взяться токенам %term? вам надо действовать через %node:field-term-name:name, например. Посмотрите внимательно последний апдейт в этом топике. Кроме того, должен стоять модуль Entity tokens.

24.11.2012 17:40
Аватар пользователя Dark_kz
Dark_kz написал:

Спасибо! Подскажите пожалуйста как добавить все родительские ссылки, а не только двух уровней?

25.11.2012 00:58
Аватар пользователя Spleshka
Spleshka написал:

Посмотрите http://drupal.org/node/1849400. Причём :parent: вы можете использовать сколько угодно раз. А если какого-то родителя по факту в иерархии не окажется, то ссылка в навигационной линейке просто не отобразится. Поэтому вы можете хоть до 10го родителя вбить ссылок, а отображаться будут только те уровни, которые существуют.

25.11.2012 14:04
Аватар пользователя Dark_kz
Dark_kz написал:

Все работает! Спасибо!

25.11.2012 15:27
Аватар пользователя ula888
ula888 написал:

Добрый день!

подскажите пожалуйста как правильно прописать путь?

имена выводит правильно, но нажимая пишет страница не найдена:

заголовок ссылки: %node:field-category
путь ссылки: %node:field-category:url

это поле для термина таксономии.

спасибо)

21.11.2012 13:03
Аватар пользователя Spleshka
Spleshka написал:

Убедитесь, что модуль Entity tokens включен.

24.11.2012 17:41
Аватар пользователя ula888
ula888 написал:

спасиб)) помогло сообщение от stas # 115 )))

25.11.2012 20:43
Аватар пользователя ula888
ula888 написал:

спасибо, что ответили)) включен)) я проверяла..комменты выше прочла)) может путь надо прописать как термина таксономии..?

25.11.2012 20:32
Аватар пользователя AmiGator
AmiGator написал:

а можно как то выводить в крошках ссылки меню? токен menu-link:parent:title не работает. очень обидно :-( стандартные крошки какие то кривые…

28.11.2012 20:47

Страницы

Комментировать