Управление большим объемом контента в иерархии дерева

Во-первых, я приношу свои извинения, если об этом уже был дан ответ. Я думал, что это будет распространенная проблема, и я удивлен тем, что нигде не нашел общего решения.

У меня есть большой корпоративный сайт (около 8000 страниц), который в настоящее время организован в нашей существующей CMS в многоуровневой древовидной структуре. Навигационные меню, панировочные сухари и URL-адреса автоматически создаются на основе позиции узлов контента в дереве. Это делает его особенно удобным для редакторов контента для создания нового контента в нужном месте и всегда совместимого с меню, панировочными сухарями и URL-адресами.

Мы, вероятно, перейдем на Drupal 7. Каков стандартный подход к крупным, структурированным деревом сайтам вроде этого? Я не хочу создавать новые имена тегов (термины таксономии?) Для каждого отдельного раздела, поскольку есть сотни страниц типа «контейнер», которые содержат списки других страниц. Кажется гораздо проще просто сложить узел в дерево.

Я подозреваю, что есть что-то очевидное, что мне не хватает - я бы подумал, что это нормально, поскольку у дерева есть структура контента. Любая помощь очень ценится.

7 голосов | спросил Flash 17 +04002013-10-17T04:31:15+04:00312013bEurope/MoscowThu, 17 Oct 2013 04:31:15 +0400 2013, 04:31:15

3 ответа


2

Хорошей стратегией является использование Workbench и создание разделов из вашего меню.

Итак, у вас будет ваше главное меню, давайте скажем 3-4 уровня и подражаем тем, кто находится в таксономии. Его проще создать таксономию, так как есть модуль, который будет создавать меню из таксономии.

Итак, вы создаете свою таксономию, у которой ваша структура будет идти 3-4 уровня. Затем создайте из него меню.

Установите модули Workbench и Workbench Access и Moderation.

Настройте доступ к использованию таксономии для назначения раздела, а затем настройте параметры URL, чтобы вытащить из таксономии, поскольку это позаботится о вашем URL-адресе и панировочных сухарях. Используйте специальный модуль Breadcrumb для создания панировочных сухарей, если они вам понадобятся.

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

Например, вы добавляете узел «Справка», который должен жить в About Us> Услуги и О нас и Услуги находятся в меню. Помощь не обязательно должна быть в меню, но должна следовать О нас> Услуги> Справочный путь.

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

Итак, суммируем шаги:

  1. Создайте таксономию элементов, которые вы хотите видеть в меню.
  2. Создать меню из таксономии с использованием модуля «Таксономия 2».
  3. Установите набор модулей Workbench.
  4. Настроить доступ к рабочему столу для вытаскивания из таксономии.
  5. Отрегулируйте типы контента, чтобы добавить поля для выбора таксономии, сделайте это только 1, так как вам не нужны несколько путей для узлов.
  6. Настройте шаблоны URL, чтобы вытащить их из таксономических родителей.
  7. Установите и настройте пользовательские Breadcrumbs, чтобы использовать URL-адрес.
  8. Установите и настройте блок меню, чтобы использовать URL-адрес.
  9. Начните добавлять контент и назначать разделы.

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

ответил pgrujic 28 +04002013-10-28T23:08:09+04:00312013bEurope/MoscowMon, 28 Oct 2013 23:08:09 +0400 2013, 23:08:09
1

Я бы сказал, что вам не нужна таксономия или что-то еще, но ТОЛЬКО структура меню.

Система меню достаточно, чтобы определить, что является родительским, а что является дочерним, и порядок детей.

Модуль Book (поставляется с ядром) использует ту же стратегию, но, вероятно, вам это даже не нужно.

Проблема 1: Как редактировать большие меню?

  • Форма конфигурации меню станет очень тяжелой, если сразу будут загружены все пункты меню.
  • Нет удобного редактирования. Или есть?
  • Вам может потребоваться рабочий процесс, который позволяет сначала создать иерархию и позже добавить узлы.

Хорошо, редактор меню помогает вам в массовом редактировании. Но он может обрабатывать сразу столько пунктов меню. Никакой жесткий предел, но он все замедлит - но попробуй! Был запрос функции, который запрашивал пейджинг, но это естественно трудно в дереве.

Он также помогает вам создавать фиктивные ссылки меню, которые позже могут быть скопированы (заполнены узлами) (через подмодуль me_node_creation).

Итак, вы можете попробовать это и помочь мне улучшить эту вещь.

Задача 2: Отобразить тизеры подстраниц

Вы сказали, что некоторые из ваших страниц похожи на контейнеры для подстраниц. Вы, вероятно, хотите, чтобы они отображали список подстраниц.

Один из способов сделать это на стороне клиента - использовать Menupoly и создать пользовательский MenuTheme, который будет визуализировать каждую ссылку в виде узлового тизера. Затем блок через hook_menupoly отобразит подменю текущей страницы с помощью этого MenuTheme. Я думаю, что я должен загрузить этот код в песочнице!

Прошу прощения, этот материал - все «нужно работать», и я хотел бы помочь. Но я думаю, что все может стать довольно круто.

ответил donquixote 10 72013vEurope/Moscow11bEurope/MoscowSun, 10 Nov 2013 02:45:32 +0400 2013, 02:45:32
1

В OP о «Как управлять огромными деревьями меню» вы можете попробовать https://drupal.org/project /bigmenu , который является заменой на пользовательский интерфейс меню администратора Drupal (6 & 7), который использует AJAX для загрузки поддеревьев по мере необходимости.

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

ответил dman 26 22013vEurope/Moscow11bEurope/MoscowTue, 26 Nov 2013 06:34:50 +0400 2013, 06:34:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132