这段代码有什么作用?

时间:2011-03-20 03:15:15

标签: php forms drupal drupal-6

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 个答案:

答案 0 :(得分:2)

如果提交的表单包含名为“search_box_form_submit”的变量,请将其删除,然后添加一个名为“mymodule_search_box_submit”的新变量。

也许有人想要覆盖drupal搜索功能,并且根本不想要默认处理器。感谢kiamlaluno的评论。

答案 1 :(得分:1)

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'

答案 2 :(得分:1)

是数组$ form ['#submit']中的文本“search_box_form_submit” 如果是这样找到search_box_form_submit的密钥 然后从阵列中删除

将值mymodule_search_box_submit放在数组前面$ form ['#submit']

我建议您阅读所用功能的手册页。