2016-05-13 3 views
0

Я использую модуль View Bulk Operation для выполнения множественного удаления в своем пользовательском представлении, где я перечисляю свое содержимое.Drupal 7 Ключ формы VBO form_alter не запускается

Но я должен проверить значение знать, принимаю ли я удалить содержимое или нет ... мне удались сделать это с множественным выбором на моем /admin/content зрения с hook_form_alter() НО это не срабатывает когда я делаю это на моей настраиваемое представление ...

Я пробовал другие крючки, как:

  • hook_views_bulk_operations_form_alter() который звучал хорошо ... Но это не вызывает у всех
  • hook_node_delete() может иметь работал, но у меня есть n о том, как идея, чтобы остановить процесс удаления, когда в функции (exit; или break; просто выдаст ошибку, и я не понимаю, почему)

Мой код hook_form_later, которые работают хорошо с «страницы содержания»:

function MODULE-NAME_form_alter(&$form, &$form_state, $form_id) { 
    foreach($form['nodes'] as $pnode) 
    { 
    if(is_array($pnode)) 
    { 
     if(!isDeletable($pnode['#value'])) // my function which says if we can delete the content 
     { 
      $n = node_load($pnode['#value']); 
      $status = isset($n->workbench_moderation['current']->state) ? $n->workbench_moderation['current']->state : false; 
      $string = "This content won't be deleted : ".substr($pnode['#suffix'],0,-6); // substr to cut off the '</li>' ! 
      drupal_set_message(t($string), 'warning'); 

      unset($form['nodes'][''.$pnode['#value']]); // get the content off the form (my way to say that the content shouldn't be deleted) 
     } 
    } 
    } 
} 

Как сделать hook_views_bulk_operations_form_alter() триггер?

ответ

0

Я не думаю, что у VBO есть свой собственный винт для изменения формы, поэтому hook_views_bulk_operations_form_alter() просто не называется.

То, как я делал это с помощью hook_form_alter(), похожей на ваше решение, но с проверкой на форме идентификатора действовать только на формах VBÖ меня интересует.

Теоретически вы могли бы добавьте альтер-крючок на формы VBO, но я думаю, что это будет медленнее, чем реализация непосредственно в hook_form_alter(). Если у вас много форм VBO, чтобы изменить его, то может того стоить.

 Смежные вопросы

  • Нет связанных вопросов^_^