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


Вот сценарий:

  1. Автор сплетен о знаменитостях публикует узел (статья) на веб-сайте Drupal.
  2. У меня есть модуль, который сканирует статью и автоматически создает поля таксономии на основе имен знаменитостей, опубликованных в статье.
  3. Эти "термины" таксономии основаны на списке имен/фамилий знаменитостей, который будет большим и постоянно растущим.
  4. Этот список знаменитостей будет иметь различные поля для отображения подробных профилей знаменитостей
  5. К узлам контента может быть прикреплено несколько знаменитостей.
  6. Узлы знаменитостей могут быть присоединены к нескольким узлам контента.

Вот мои предположения:

  1. Постоянно растущий объем знаменитостей и их нетипичные требования к полю делают необходимым создание таблицы специально для знаменитостей.
  2. Отношения таксономии к узлу на самом деле не что иное, как node_id и celebrity_id в таблице отношений.
  3. Хотя авторы могут автоматически помечать статью с помощью моего модуля, им, вероятно, иногда потребуется добавлять дополнительных знаменитостей из-за орфографических ошибок или ошибок сканирования, поэтому имя и фамилия знаменитости должны быть частью процесса пометки.
  4. Из-за изменений имен, орфографических ошибок и т.д. Мы не хотим использовать имена и фамилии знаменитостей в качестве уникальных идентификаторов

Итак, вот мои вопросы:

  1. Существует ли уже построенный модуль, который предоставляет эту функциональность?
  2. Есть ли уже встроенный модуль, который помогает создать таксономию, которая может представлять связь между узлом и сущностями в пользовательской таблице, а не просто таблицу таксономии?
  3. Эта функция уже присутствует где-нибудь в дистрибутиве Drupal?
  4. Должен ли я создать пользовательский модуль для решения этой проблемы (т.Е. Я не буду заново изобретать колесо)?
Author: kiamlaluno, 2011-03-08

2 answers

Вы не указали Drupal 6 или 7. Если можете, используйте 7. Затем вы можете сделать следующее

  • Размещайте свой контент (сообщения о сплетнях) в качестве узлов.
  • Укажите имена ваших знаменитостей в качестве терминов таксономии
  • Применяйте любые поля, которые вам нравятся, непосредственно к термину таксономии. Нет необходимости в подключенных узлах или пользовательском контенте.

    Существует несколько модулей автоматической маркировки, Open Calais является бесплатным и будет соответствовать вашим потребностям. Вы даже можете просто использовать результаты "Человек" от него можно пометить только знаменитостей.

    У Drupal 6 были некоторые проблемы с очень большими таксономиями (более 100 000 терминов и 2 000 000 отдельных тегов). D7 отсортировал большинство из них, поэтому маловероятно, что вам придется идти по маршруту пользовательского кода.

    Если вы это сделаете, вам нужно будет не только обойти систему узлов, но также систему таксономии и mysql, поэтому это не так просто, как создать пользовательскую таблицу.

 2
Author: Jeremy French, 2011-03-08 09:10:16

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

 1
Author: epersonae, 2011-03-08 01:11:22