Как обращаться с такого рода ссылками на узлы при создании нового экземпляра типа контента?
Я новичок в использовании Drupal, и я пытаюсь создать веб-сайт, управляемый базой данных, в Drupal. Я не знаю, как лучше всего сделать следующее:
Мне нужно иметь три типа "сущностей" (типы контента):
- Рабочий
- Город
- Государство
Каждый Работник живет в одном и только одном Городе , и каждый Город находится в одном и только одном Состоянии.
Я мог бы создайте эти три типа содержимого:
- Состояние
- Город, который будет иметь ссылку на узел Состояние
- Рабочий , у которого будет ссылка на узел Город
Но...
Когда я создаю нового сотрудника, я не хочу, чтобы Drupal показывал список со всеми городами (потому что в разных штатах могут быть города с одинаковым названием).
Как я мог бы добавить функцию , выбрав сначала Штат, а затем Город, при создании нового работника или что-то в этом роде, что позволяет пользователю дифференцироваться?
Редактировать:
Модуль Зависимые поля работали бы в этом случае, но это заставляет меня добавить еще одно поле в содержимое рабочего: Состояние . Я не хочу этого, потому что это может быть своего рода избыточной информацией (зная город работника, я также могу знать штат). Вы понимаете, что я имею в виду?
6 answers
Я бы создал иерархию таксономии, в которой есть вложенные штаты -> Города. Затем вы можете предоставить им возможность выбрать состояние и отфильтровать раскрывающийся список по родительской таксономии.
Иерархический выбор сделает это за вас.
Если вам нужно создать тип контента для city, просто примените один и тот же термин таксономии, чтобы связать их вместе.
Ким
Похоже, что модуль Условных полей может помочь. Это позволяет вам сделать поля CCK зависимыми, чтобы вы могли выбрать штат, а затем получить город.
Некоторые дополнительные сведения об этом модуле (со страницы проекта):
Условные поля позволяют управлять наборами зависимостей между полями. Если поле является "зависимым", оно будет доступно для редактирования и отображаться только в том случае, если состояние поля "зависимый" соответствует правильному состояние.
При редактировании узла (или любого другого типа сущности, который поддерживает поля, такие как пользователи и категории) зависимые поля динамически изменяются с помощью API состояний.
Вы можете, например, определить пользовательское поле "Тизер статьи", которое отображается только в том случае, если установлен флажок "Есть тизер".
Как насчет использования модуля Postal ? Мне бы не помешала помощь в его разработке.
Я нашел это - http://drupal.org/node/626088 - Иерархическая ссылка На Узел Выбора.
Это звучит в точности так, как вы изначально намеревались. Выглядит немного сложным в настройке.
Я думаю, вам следует использовать таксономию для штата и города с многоуровневыми уровнями? После использования модуля hierarchical_taxonomy.
Наслаждайтесь;)
Как насчет создания различных сущностей. вы можете использовать eck http://drupal.org/project/eck один объект для штата, а другой для города. тогда вы могли бы использовать отношение (http://dev.nodeone.se/en/learn-the-relation-module ) o возможно, ссылка на сущность (http://dev.nodeone.se/en/using-the-reference-modules). затем вы создаете поле в учетной записи пользователя или в созданном вами типе контента, который ссылается на них.
Вы могли бы использовать демонстрационный костюм (http://www.youtube.com/playlist?list=PL7E361A55994F1648), полевая группа http://www.youtube.com/watch?v=vhA5b5KpHZw и визуализируемые элементы (http://www.youtube.com/watch?v=rSgd91tZSEc), этот ящик содержит несколько типов содержимого
Удачи.....