Drupal: помощь в создании типов контента и связывании узлов

У меня есть ситуация, когда кто-то может создать тип контента вакансии. Я добавил поле CCK, относящееся к типу контента «организация». Поэтому, когда кто-то создает новое объявление о вакансии, он может выбрать, для какой организации эта работа предназначена в этом поле (автоматически заполняется). Проблема в том, что я могу создать новую работу и выбрать любую организацию, даже если я не создавал эту организацию сам.

Есть ли способ ограничить ввод данных в это поле 1. существующим названием организации и 2. организацией, принадлежащей этому пользователю?

Я использую drupal 6.

Любая помощь очень ценится!

Джонси


person iamjonesy    schedule 12.11.2010    source источник


Ответы (3)


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

Я не тестировал этот код, но он должен быть достаточно близок к тому, что вам нужно, если я понял вопрос!

global $user; //make sure we have access to the user

//find all the job organisation nodes made by this user 
//(replace organisation with the actual name of your content type)
$query = db_query("select nid from {node} where type = 'organisation' and uid = %d", $user->uid);

//put the results in the values array
$values = array()
while($result = db_fetch_result($query)){
  $values[] = $result;
}
person hookd    schedule 12.11.2010

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

person mpdonadio    schedule 13.11.2010

Вы можете использовать поле Nodereference.

Это Автозаполнение, и в нижней части настроек поля вы можете выбрать представление, чтобы отфильтровать узлы, на которые можно ссылаться (это называется «Дополнительно - Узлы, на которые можно ссылаться (Просмотр)»).

Просто создайте представление, ограничивающее узлы узлами, созданными текущим вошедшим в систему пользователем, и используйте его на странице настроек Nodereference. Используя эту опцию, удаляет опцию «Типы контента, на которые можно ссылаться», расположенную над расширенными настройками. Поэтому не забудьте добавить фильтр по типу узла.

Я предполагаю, что вы уже используете Nodereference и, возможно, не обращали внимания на эту опцию

person Vodde    schedule 19.11.2010