Блог пользователя - lexa97@drupal.org

Создание ноды из другой ноды

23 августа 2010 в 21:46

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

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

Почти день потратил на то, чтоб понять как это реализовать, но никак не могу понять как сделать правильно sql выборку в поле, точнее как передать в sql значение этого поля. В модуле rules все реализовано через token, но как передать токен в sql запрос я не пойму.

Сейчас конструкция выглядит так - создано правило, в котором есть следующее условие:
Поле созданное содержимое имеет значение 'field_number'
и в качестве значения я написал такой код на php

<?php$num=$tokens['field_number-raw'];
$sql = "SELECT * FROM node WHERE `type` ='page' AND `title`= '".$num."'";
$res = db_result(db_query($sql));
if ($res)
{
return array(
  0 => array('value' => $num)
);
}
?>

Правило не срабатывает, почему не могу понять. Может кто сталкивался с этим модулем в таком контексте?

Кстати, если может кто подскажет идею как это ещё можно по другому провернуть - буду крайне благодарен!