Drupal: помощь с созданием типов контента и связыванием узлов - PullRequest
0 голосов
/ 12 ноября 2010

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

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

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

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

Джоунси

Ответы [ 3 ]

1 голос
/ 12 ноября 2010

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

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

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;
}
0 голосов
/ 20 ноября 2010

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

Это автозаполнение, и в нижней части настроек поля вы можете выбрать View для фильтрации узлов, на которые можно ссылаться (это называется «Advanced - Nodes»на который можно сослаться (View) ")

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

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

0 голосов
/ 13 ноября 2010

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

...