[РЕШЕНО] Заменить обработчик формы добавления ноды

Главные вкладки

Аватар пользователя neonever neonever 28 октября 2012 в 14:48

Доброго времени суток, господа.
Возникла следующая проблема: нужно при добавлении новой ноды своим обработчиком проверять некоторые условия и, при выполнении этих условий, сохранять ноду.
Но добавить свой обработчик вместо основного не удается.
В своем модуле реализовал хук (в примере назовем модуль - mymodule, тип ноды - mytype):

<?php

function mymodule_form_alter(&$form, &$form_state$form_id) {

  if (

$form_id == 'mytype_node_form') {
     if((
$key array_search('mytype_node_form_submit'$form['#submit']))){
        
$form['#submit'][$key] = 'mymodule_mysubmit';
     }
  }

}

?>

Второй if не выполняется, а без него...

<?php

function mymodule_form_alter(&$form, &$form_state$form_id) {

  if (

$form_id == 'mytype_node_form') {
     
$key array_search('mytype_node_form_submit'$form['#submit']);
     
$form['#submit'][$key] = 'mymodule_mysubmit';
  }

}

?>

...обработчик просто добавляется к основному, т.е. выполняется функция mymodule_submit + автоматически сохраняется нода.
Что я делаю не так?

Комментарии

Аватар пользователя neonever neonever 28 октября 2012 в 19:08

boatsman wrote:
так Вам нужен не submit, а validate

Не могли бы Вы немного пояснить?
При нажатии кнопки ведь, простыми словами, должен вызываться submit обработчик.

Аватар пользователя boatsman boatsman 7 ноября 2012 в 0:55

neonever wrote:
boatsman, спасибо, разобрался.
Правда, сразу отписаться здесь не смог.

Вы один из тех людей, которым я очень люблю помогать, задал человеку вектор - сам разобрался. Молодец!

Аватар пользователя neonever neonever 8 ноября 2012 в 0:39

С данной CMS только знакомлюсь, поэтому возникают, возможно, и глупые вопросы, на которые поиск не всегда дает адекватных ответов.
Поэтому получить верное направление для поисков - самое то ))
Еще раз спасибо.