nodeapi не изменяет данные узла - PullRequest
1 голос
/ 17 ноября 2010

Используя hook_nodeapi, я хочу предотвратить сохранение определенных полей при обновлении узла.У меня есть простая форма оплаты, которая подается на Authorize.net, но номер и дату CC не следует сохранять, просто передайте Authorize.net.

Я могу передать данные в порядке.Но Drupal по-прежнему сохраняет данные.

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

Какая правильная операция удаления данных из узла без вмешательства в обновление?

Ответы [ 2 ]

2 голосов
/ 17 ноября 2010

Я бы удалил поля из узла и добавил их, используя форму изменения хука.Таким образом, у вас нет пустого поля, которое ни для чего не используется.

Edit

Если вы действительно хотите использовать hook_nodeapi () для этого используйте $op='presave'

«предварительное сохранение»: узел прошел проверку и собирается быть сохраненным.Модули могут использовать это для внесения изменений в узел до его сохранения в базе данных.

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

Если бы я хотел предотвратить сохранение определенных полей при обновлении узла, я бы использовал hook_form_alter, чтобы удалить данные, которые я не хочу отправлять.

Дополнительная информация на http://drupal.org/node/651106

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