drupal меню в ноде
Drupal Русскоязычное сообщество
Здравствуйте, задача простая:
Меню1:
-Категория меню1
—Категория меню1
Меню2
-Категория меню2
—Категория меню2
но либо старые форумы, либо решения предлагаемые там только для Drupal’а 7, а я использую Drupal 8.
Сейчас я сделал 2 словаря таксономии и 2 меню, привязал «Taxonomy Menu» к этим 2ум меню. Также сделал Views всё нормально работает, но Breadcrumb врёт, когда по таксономии переходит на ноду и показывает синоним ноды.
Комментарии
Вам надо, чтобы нода была пунктом меню или чтобы её можно было найти в двух выборках?
Нет слова вообщем, так пишут только ушлёпки.
Когда перехожу по адресу таксономии:
/glavnoe-menu/kategoria-glavnogo-menu-1
Мне нравится breadcrumb:
Когда перехожу по адресу таксономии:
/bokovoe-menu/kategoria-bokovogo-menu-1/kategoria-bokovogo-menu-2
Мне также нравится breadcrumb:
Вроде бы надумал два способа решения проблемы:
Сначала думал сделать два синонима на ноду, и во Views’е, ответственном за отображение страниц:
/glavnoe-menu/kategoria-glavnogo-menu-1
/bokovoe-menu/kategoria-bokovogo-menu-1/kategoria-bokovogo-menu-2
Как-нибудь создавать ссылку на нужный мне синоним ноды.
Т.е. примерно так:
/glavnoe-menu/kategoria-glavnogo-menu-1/2
Выбирает ноду с id 2.
Для хлебных крошек в Drupal есть отдельные модули. Не вижу их релизов под 8-ку. В последнее время крошки на views делаю. Как гуры делают не знаю, у меня только кот дома.
У вас сам подход к построению меню неправильный. Никто не делает ссылку с названием меню. И уж тем более не принято вытаскивать эту ссылку в хлебные крошки.
Дело не в самих ссылках, а в структуре меню.
Сегодня я сдался:
— убрал breadcrumb из /node/*;
— в типах материалов вместо поля множественного выбора сделал поле с выпадающим списком. Одна нода в одном меню.
В нём написано очень важный штуко:
All duplicate content paths are sanitized, meaning that duplicate node pages are marked with «robots noindex» metatags in the head of the node’s rendered html to prevent them from being indexed by search engines.
Но для drupal 8 пока ни делалси данный модуль
Таким образом, я не смог разрешить задачу. =(. Ну, то есть забабахать ноду в двух материалах не проблема и даже Breadcrumb перепилить можно, чтоб отображался как надо. Но вот получить «SEO penalty» очень бы не хотелось.
Всем спасибо! С Новым годом!
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Drupal Русскоязычное сообщество
Так вот вопрос, не существует ли способов решить данную проблему, как на Друпале реализуются большие меню, под каждым пунктом которого могут содержаться несколько нод так, чтобы меню не сворачивалось при переходе на ноду?
Комментарии
Спасибо всем ответившим, посмотрю ссылки на модули.
Друпал логично не понимает какой именно термин выбран и какой пункт меню требуется раскрыть.
А Вы сами понимаете, как это должно работать?
В моем понимании необходимо каким-то образом выделить одну главную таксономию, которая в данный момент находится на меню. Плюс видимо придется покодить меню, что очень нежелательно.
Но в данной теме у меня больше вопрос не к тому как решить озвученную проблему при построении меню моим подходом, а узнать какие еще есть варианты построения меню с большим количеством зависимых элементов. Возможно у меня в принципе выбран не верный подход и с ним решить проблему с сворачиванием будет достаточно трудоемко.
Ага, у меня taxonomy_display и используется.
Насколько я знаю через контекстные фильтры сделать не получиться, потому что контекстный фильтр привязан к одной конкретной вьюхе, т.е. это просто динамический фильтр.
Вообще прихожу к выводу что E-Commerce на Drupal не лучший выбор. Много лишних возможностей и нет необходимых.
а не через taxonomy menu потому что для разных словарей требуется выводить различные вьюхи
Остальное не понял.
для разных словарей требуется выводить различные вьюхи, с различными раскрытыми фильтрами.
чтобы меню не сворачивалось при переходе на ноду
В моем понимании необходимо каким-то образом выделить одну главную таксономию, которая в данный момент находится на меню
По какому признаку система должна понимать, что эта та самая главная таксономия?
В этом и вопрос данной темы ). Это необходимо где-то задавать, я АПИ не знаю, поэтому не представляю как можно связать ноды и меню.
Но по логике это возможно, необходимо только указывать, что нода является как-бы виртуальной дочкой конкретного термина для построения иерархии меню.
Taxonomy_menu_trails решил вопрос с раскрытием меню.
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Drupal Русскоязычное сообщество
Вроде бы уже не раз обсуждалось, но вопросы от новичков всё сыпятся и сыпятся. Вот и сегодня у меня в аське совершенно запутавшийся человек спрашивал как в Друпале меню создавать. Похоже, что имеющиеся в Друпале 2 способа создания меню начинающих просто путают. Так что для них ещё раз напишу, авось кому поможет.
Итак, в Друпале есть 2 способа создать меню сайта:
1. (Именно на него натыкаются новички и он их сбивает с толку).
В Управлении сайтом выбираем раздел Меню. В нём можно создать новое меню и добавить в него пункты. Для каждого пункта меню прописывается адрес, на который этот пункт ссылается.
К примеру, вы создали такое меню:
Моё меню
-раздел 1 (www.мой_сайт.ru/razdel1)
-раздел 2 (www.мой_сайт.ru/razdel2)
По большому счёту получается, что вы выполняете двойную работу, хотя при таком способе вы можете быстро создать будущую структуру, а потом уже заполнять её материалами.
2. Есть другой способ, который новички почему-то часто не замечают.
А. В Управлении сайтом выбираем раздел Меню. Создаём новое меню. К примеру, «Моё меню». Выводим блок с меню в нужное место.
Б. Находим в меню Создать материал и начинаем создание документа.
В. Под полем ввода текста статьи ищем пункт «Настройки меню» (название может отличаться в зависимости от перевода).
Здесь вы вводите название пункта меню, под которым должен быть ваш документ. К примеру, «раздел 1». И выбираете родительский пункт меню. В данном случае мы находим и выбираем в выпадающем списке «Моё меню».
Г. Сохраняем документ.
Д. Любуемся появившимся меню
причём при нажатии на пункт «раздел 1» вы сразу видете ваш свежесозданный документ. То есть в данном случае структура меню у вас создаётся по мере добавления документов, при создании которых вы указали, что они будут пунктами меню.
Drupal Русскоязычное сообщество
Друзья,
столкнулся с такой проблемой.
Есть древовидное меню, есть отдельный контент тайп.
Как не прибегая к помощи сторонних модулей, написания своих и танцев с бубном линковать ноды к меню.
Таким образом что бы эти ноды не были разделами меню, а что бы при клике на любое меню выводился список
нод, которые прилинованны к выбранной категории.
Аля, вордпресс, создал категории, добавил в них ноды. Все. Задача проста, но без танцев с бубном и сторонними модулями не знаю как ее решить.
. Пожалуйста, не предлагайте мне решений которым не достаточно дефолтных возможностей друпала. Мне надо именно нативное решение.
Спасибо
Комментарии
Вам дали исчерпывающий ответ на вопрос, теперь привязывайте урлы терминов таксономии к вашим пунктам меню
Вам дали исчерпывающий ответ на вопрос, теперь привязывайте урлы терминов таксономии к вашим пунктам меню
я понимаю что я могу это сделать, но одна мысль о том что мне надо дублировать сущности в такой банальной задаче вводит меня в ступор.
я понимаю что я могу это сделать, но одна мысль о том что мне надо дублировать сущности в такой банальной задаче вводит меня в ступор.
Да, решение простое. Но это дублирование.
Для того что бы мне создать каталог со статьями мне надо создать дерево категорий в таксономи, а затем создать аналогичное дерево в меню и ссылки для каждой ветки прописать
такие как создались таксономи.
Я понимаю что народ привык это делать так как позволяет делать друпал. Но это не совсем логично.
А ведь без меню я не построю дерево категорий
Да, решение простое. Но это дублирование.
Для того что бы мне создать каталог со статьями мне надо создать дерево категорий в таксономи, а затем создать аналогичное дерево в меню и ссылки для каждой ветки прописать
такие как создались таксономи.
Я понимаю что народ привык это делать так как позволяет делать друпал. Но это не совсем логично.
А ведь без меню я не построю дерево категорий
1. Ставите taxonomy_menu
2. В настройках словаря (который у нас для меню) указываете к каким типам нод можно крепить термины
3. В нодах указываете термин/термины
4. Настраиваете сам taxonomy_menu (где и как выводить)
1. Ставите taxonomy_menu
2. В настройках словаря (который у нас для меню) указываете к каким типам нод можно крепить термины
3. В нодах указываете термин/термины
4. Настраиваете сам taxonomy_menu (где и как выводить)
дальше по ссылкам вида taxonomy/term/id_категории будет выводится то что вам нужно ( http://firsthand.ru/node/11 )
Что тут не правильного? Это прямое предназначение таксономии. О дублировании сущностей не понял. Вы один раз прописываете термин, потом же просто указываете при добавлении отношение материала к определенному термину.
таксономи не построит мне дерево категорий в виде меню. мне не нужна теговая структура.
мне надо классическое древовидное меню и статьи для каждого пункта.
Site Map умеет строить меню по словарю
мне еще надо меню к этими самыми категориями.
Знаете, ТС, я тоже когда-то возмущался на этот счёт. Но потом, когда понял, что даже самый начинающий админ не против привязывать пункты меню к терминам, я успокоился.
Кстати, если вы напишете модуль, который будет прямо к пунктам привязывать ноды, это будет интересно. Наверняка можно как-то исхитриться. С помощью той же таксономии.
всем спасибо.
у каждого свое мнение, но мне кажется не разумно ставить такую махину, да еще прикручивать модули что бы сделать банальную задачу, которая для такого продукта должна быть доступна из коробки.
Но друпал иной, увы (
не важно что в друпале таксономи и меню разные сущности.
в конечном итоге меню оно блин в африке меню. я считаю что если один и тот же контент надо создавать в более чем одном месте то это дублирование одной и той же сущности.
но опять же, фламастеры разные.
но мне кажется не разумно ставить такую махину, да еще прикручивать модули что бы сделать банальную задачу, которая для такого продукта должна быть доступна из коробки.
Вы чего, дружище? А кеширование? А надёжность? А постоянно расширяющиеся возможности? Это тоже очень важно.
Я где-то читал, что в одной из последних версий Вордпресса ПОЛНОСТЬЮ УБРАНО КЕШИРОВАНИЕ. Это ж с ума сойти можно. а вы говорите «меню».
Я где-то читал, что в одной из последних версий Вордпресса ПОЛНОСТЬЮ УБРАНО КЕШИРОВАНИЕ. Это ж с ума сойти можно. а вы говорите «меню».
Да фиг с этим кэшированием.
Это просто поиски фишичек по которым CMS N превосходит CMS M.
Понимаю что можно выкрутится, не нравится правда способ )
На развитие drupal.ru
Ваша финансовая помощь дает нам возможность оплачивать хостинг и поддерживать стабильную работу сайта. Благодарим за поддержку!
Работаем с меню в drupal 7
В статье пойдет речь от системе меню в Drupal, некоторых полезных модулях и примерах программирования. Хоть речь пойдет о Drupal 7, и примеры подготовлены именно для этой версии, но многое будет актуально и для «шестерки».
Модуль меню — часть drupal. Подсистема меню хорошо интегрирована и продумана. Drupal содержит целую библиотеку функций для работы с деревом меню, целое API. Мы его немного затронем в примерах.
Как устроено меню в Drupal
Мы можем создавать объекты меню в виде дерева ссылок. Максимальная глубина дерева — 9.
Если мы откроем страницу администрирования (/admin/structure/menu), то в списке меню уже будут несколько созданных объектов.
Хлебные крошки, breadcrumbs в Drupal
Рассказывая о меню в друпал, нельзя обойти стороной такой элемент системы как хлебные крошки. Этот элемент обычно подключается в шаблон в виде следующей переменной:
Он представляет собой последовательность ссылок в текущей иерархии созданных меню. Т.е. если текущая страница сайта объявлена элементом какого то меню — то вы получите набор ссылок от корня дерева до элемента, ссылающегося на данную страницу. Корнем дерева меню является главная страница.
Админ меню в Drupal
В 7 версии в ядро добавлен модуль админ меню, для иерархии которого используется дерево меню managment. Его функционал похож на Administration menu, который я использую для проектов на Drupal 6. Этот сторонний модуль мне кажется более удобным и функциональным, но под 7кой я предпочитаю ему встроенный модуль, т.к. не люблю перегружать проекты 3d part модулями.
Пользователь с соответствующими правами получает меню администратора в виде черной горизонтальной полоски в верху экрана.
Полезные 3d part модули, связанные с системой меню
Nice menu
Модуль позволяет создавать блоки с выпадающими меню, привычными для нас в графическом интерфейсе операционной системы. Т.е. при наведении на элемент меню, содержащий подпункты, будет отображен слой с элементами следующего уровня меню и т.д.
Для любителей создавать меню по словарям (таксономии) также есть специальные модули — Taxonomy Menu, Nice Taxonomy Menus.
Pathauto
Модуль ядра path, тесно связан с меню, позволяя задавать синонимы страниц, так чтобы в результате публикацию с адресом node/100 можно было посмотреть по адресу, к примеру, poleznaya-informachiya-o-kompanii. Модуль path позволяет задать путь вручную, а автоматизировать создание синонима позволит модуль pathauto. Он может работать в связке с модулем транслитерации (Transliteration), тогда вы будете получать ЧПУ ноды на лету (при сохранении публикации), как в примере.
Если вам не нужна адова мощь pathauto (а у него куча настроек и возможностей), то можете почитать как обойтись парой собственных функций для генерации синонима пути ноды в Drupal.
Hook Menu — добавление элементов в навигацию Drupal
Зацепка к меню позволяет задать модулю собственные элементы в навигации сайта и их обработчики. Вот небольшой пример из модуля mymodule.