Преобразование требований моего проекта в концепции drupal


9

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

Клиент продает конкретный продукт, скажем, видеомагнитофоны. Каждый видеомагнитофон изготовлен определенной маркой (например, Sony, LG и т. Д.). Каждый бренд имеет также категории видеомагнитофонов, которые похожи друг на друга. Поэтому, когда мы хотим описать продукт (видеомагнитофон), мы должны предоставить следующую информацию:

Категория бренда (например, Sony) (например, FGX; обратите внимание, что это не уникально. Другая компания может иметь такое же название категории) Модель (например, 4523x)

Я также хочу, чтобы пользователи могли подписываться на определенные бренды и категории, чтобы в случае выпуска Sony нового видеомагнитофона они автоматически получали уведомление (или если Sony выпускает новый видеомагнитофон определенной категории).

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

  • Является ли категория типом контента или термином таксономии?
  • Является ли бренд типом контента или термином таксономии?
  • Модель, очевидно, является типом контента, но как связать ее уникальным образом с терминами таксономии (если ответом на поставленные выше вопросы был «термин таксономии»)?
  • Какие модули мне нужно использовать в любом случае? Я проверил модуль «Отношения», и кажется, что он может содержать некоторые функции, которые мне нужны (вместе с модулем «правила», особенно для части уведомлений).

PS: если у вас есть хорошие предложения относительно ресурсов (посты в блогах, статьи, книги, видео и т. Д.), В которых объясняется, как разбить все жизненные требования на понятия drupal, мне бы очень хотелось, если бы вы могли ими поделиться.

Ответы:


7

Я бы сделал это следующим образом: Создать словарь под названием «VCR». Добавьте каждого производителя как термин, а затем каждую категорию VCR как дочерний элемент производителя. Итак, ваша структура таксономии будет выглядеть так:

  • LG
    • FGX
    • Другая категория
  • Sony
    • FGX
    • Некоторая другая категория

Обратите внимание, что хотя FGX является одним и тем же термином в обоих местах, он будет иметь различный идентификатор термина.

Затем вы добавите это к своему типу контента на странице «Редактировать поля». Выберите «Ссылка на термин» в столбце «Поле» и «Выбрать список» в столбце «Виджет». Есть и другие варианты виджетов, но я думаю, что список выбора в этом случае правильный.

Затем вы продолжите установку Views , его модуль contrib. Это в основном позволяет вам перечислять контент очень индивидуально. (Это нечто большее, чем при использовании с панелями , другим модулем, который вам может понадобиться.) Перейдите в / admin / structure / views и включите представление под названием «Термин таксономии». Это позволит вам переопределить отображение таксономии по умолчанию в Drupals.

На этом этапе при переходе к / taxonomy / term / [int] (где int является одним из идентификаторов терминов таксономии) будет отображаться весь контент, помеченный этим термином. Вы будете использовать Pathauto и Token для создания «симпатичных» URL-адресов, я бы также рекомендовал Global Redirect при создании псевдонимов контента.

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

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

Представления также позволяют легко предоставлять RSS-каналы, на которые люди могут подписаться. Я верю, что можно также делать обновления по электронной почте, но это было некоторое время назад на Drupal 6, и моя память шокирует. Я думаю, что Simple News был тем, что мы использовали. Насколько я помню, это требует некоторой настройки, но вы можете отправлять автоматический дайджест время от времени. Не совсем то, что вы просили, но может быть возможно сделать это с правилами, как вы упомянули.

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

Что касается PS, я не смог найти ни одного, когда запустил Drupal, но для меня до сих пор было общее правило: если это не объект, может быть полезным для сортировки или классификации чего-либо в реальном мире, тогда принадлежит в словаре как термин.


1

«Типы содержимого» - это контейнеры, которые принимают различные типы (целочисленные, строковые, таксономические, узлы и т. Д.).

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

Чтобы легко управлять большими таксономиями, я рекомендую вам установить следующие модули:

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


NodeOne имеет очень полный набор простых для понимания скринкастов, к которым вы можете обращаться, когда сталкиваетесь с проблемами. dev.nodeone.se/en/learning-library
ibandyop

1

Является ли категория типом контента или термином таксономии? Является ли бренд типом контента или термином таксономии?

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.