Как мне обновить узел (книгу или страницу) перед его сохранением, не касаясь кода модуля в Drupal?

Я хотел бы установить некоторые значения в узле, прежде чем записывать данные в БД. У меня уже есть работа с изменением book_nodeapi, но я хотел бы сделать это вне кода, была бы полезна некоторая опция _alter, которая позволяет мне оставить код модуля нетронутым.

Спасибо

2 ответа

Решение

Если я понимаю, что вам нужно, модуль " Правила " может быть очень полезен в таких задачах. Все, что вам нужно сделать, это создать условие в соответствии с типом содержимого, которое вы хотите, и выполнить действие, которое устанавливает значение. Установка значения может быть выполнена с использованием статических значений, значений токенов или даже кода PHP.

Вот скринкаст с основами правил.

Вы можете сделать собственный модуль и реализовать hook_nodeapi (mymodule_nodeapi) в нем так же, как модуль книги. Каждый активный модуль получает возможность подключиться к nodeapi для всех узлов.

Другие вопросы по тегам