Подключение узлов к нескольким датам - PullRequest
0 голосов
/ 19 декабря 2009

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

Например:

Office 1: will do the giveaway the days: 1/1/2010, 7/1/2010, 15/1/2010, etc...
Office 2: the days: 2/1/2010, 9/1/2010, 19/1/2010, etc...
Office 3: ....
Office 50: ...

(дни настраиваются вручную для конкретных офисов, здесь не нужен алгоритм)

У меня есть узел для Office, это тип контента CCK с подробной информацией о каждом офисе (местоположение, телефон, электронная почта и т. Д.), Теперь мне нужно назначить эти дни для офисов.

Но моя проблема здесь в том, что мне не нужно создавать события (или, по крайней мере, события узла), потому что мне не нужно хранить какие-либо данные в событии. Просто нужно сказать: Офис 1? Да, дни 01.01.2010, 01.07.2010 и т. Д ...
Ничего другого, просто чтобы знать даты.

И, если возможно, сделать их доступными для отображения в модуле календаря.

Что вы предлагаете?

Ответы [ 3 ]

0 голосов
/ 20 декабря 2009

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

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

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

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

0 голосов
/ 22 декабря 2009

Хорошо, я сам нашел решение и хочу поделиться им с вами:

Создано три типа контента:

Офис : с данными офиса
Дней : с узлом в день (365 * год)
и Дешевая распродажа : с двумя ссылочными полями узла, одно для Офис и другое для День .

(Дни нужно заполнять вручную, используя скрипт, который заполняет ближайшие 2 года или около того).

Так что я могу заполнить только тип контента Giveaway, и этого достаточно.

И тогда остаются только виды.

0 голосов
/ 19 декабря 2009

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

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

Вы также можете написать строку с информацией о дате и позволить php преобразовать ее в даты. Этот маршрут облегчит создание и хранение данных, но значительно усложнит интеграцию с календарем.

Самым лучшим / простым решением, вероятно, будет ссылка на узел с модулем даты в сочетании со скриптом для создания всех необходимых узлов. Вместо того, чтобы делать их внутри Drupal.

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

Есть много способов сделать это, но это действительно зависит от ваших потребностей, навыков и времени.

...