Что делает этот код? - PullRequest
       25

Что делает этот код?

0 голосов
/ 20 марта 2011
if (in_array($form['#submit'], 'search_box_form_submit')) {
    $key = array_search('search_box_form_submit', $form['#submit']);
    unset($form['#submit'][$key]);
}

array_unshift($form['#submit'], 'mymodule_search_box_submit');

Что делает код?Я плохо следую за этим;Я ожидаю, что кто-то может объяснить это мне, строка за строкой.

Ответы [ 3 ]

2 голосов
/ 20 марта 2011

Если отправленная форма содержит переменную с именем «search_box_form_submit», удалите ее и добавьте новую переменную с именем «mymodule_search_box_submit».

Возможно, кто-то хотел переопределить функцию поиска drupal и вообще не хотел запускать процессор по умолчанию. Спасибо kiamlaluno в комментариях.

1 голос
/ 20 марта 2011

- это текст "search_box_form_submit" в массиве $ form ['# submit']
если это так, найдите ключ для search_box_form_submit
затем удалить из массива

поместите значение mymodule_search_box_submit в начало массива $ form ['# submit']

Я рекомендую прочитать страницу руководства для используемых функций.

1 голос
/ 20 марта 2011

if (in_array($form['#submit'], 'search_box_form_submit')) {

Если в массиве присутствует значение 'search_box_form_submit' $form['#submit']

$key = array_search('search_box_form_submit', $form['#submit']);

Затем установите для переменной $key значениеключ массива для значения 'search_box_form_submit' в массиве $form['#submit']

unset($form['#submit'][$key]);

Затем сбросьте (удалите) этот элемент массива

array_unshift($form['#submit'], 'mymodule_search_box_submit');

Поместить новый элемент в начало массива $form['#submit'] со значением 'mymodule_search_box_submit'

...