2010-01-26 1 views
1

Я работаю над системой регистрации, в которой кто-то может ввести количество участников, которых они привезут в поле CCK. Я хочу, всякий раз, когда добавляется тип узла с этим полем CCK, возьмите значение этого поля, а затем добавьте его в значение переменной, которое у меня есть в таблице переменных.Drupal: Как получить значение поля CCK при вставке узла?

Является ли значение CCK вставленным в таблицу поля в db до того, как мой пользовательский модуль запускает что-то, когда $ op «вставляет» для hook_nodeapi? Или есть какой-то другой способ прямого захвата значения этого поля?

+0

Я не полностью понимаю. Если вы находитесь в hook_nodeapi> insert, вы должны иметь доступ к значениям в представленной форме и в этот момент можете написать запрос (или использовать variable_get/set) для обновления вашей таблицы. – sprugman

+1

Я изначально собирался это сделать, но, наконец, решил использовать Правила. Правила довольно мощные! – geerlingguy

+0

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

ответ

1

Вот как я решил это: я использовал модуль правил и настроил набор правил для обновления количества зарезервированных регистрационных пятен посредством SUM-ing поля CCK, содержащего зарезервированное число каждой группы. Затем я создал правила для добавления, обновления и удаления узлов, поэтому число автоматически обновляется.

Это было гораздо проще, чем при использовании hook_nodeapi, и будет гораздо легче поддерживать ...

0

Да, hook_nodeapi. Но это не хороший способ сохранить данные пользователей в данных переменных (каждый новый пользователь добавляет новую строку для переменных). Просто держите его в полях cck.

+0

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

+0

Я думаю, это для хранения какой-то другой ценности. Количество пользователей, которые можно легко получить из таблицы запросов пользователей. Для asker: быть ясным ... – Nikit

+0

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