目前我有一个产品页面使用视图和Drupal商业模块与产品类别(暴露过滤器)的排序功能。带下拉列表/选择列表的表单具有GET方法,因此类别ID将附加到URL中。我的目标是获取附加到URL的类别ID,并将用户重定向到特定的产品页面,而不是只在URL的末尾添加类别ID。Drupal 7自定义提交处理视图和商业
我已经搜索了关于这个问题的答案,但他们都没有工作。所以我做的是我创建了一个实现hook_form_alter模块的自定义模块。我想向窗体添加一个自定义提交处理程序,以便在第一次提交表单后,会触发另一个提交,以便从URL中检索类别标识,然后将用户重定向到特定页面。我的代码如下模块。
function custom_form_submit_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'views_exposed_form') {
$form['#submit'][] = 'my_custom_handler_submit';
}
}
function my_custom_handler_submit(&$form, &$form_state) {
if ($_GET['field_categories_tid'] == 13) {
$form_state['redirect'] = '/products/furnitures';
}
}
第一个功能可以作为它的返回,当我做KPR($形式)形式的值启用devel模块。第二个函数似乎并没有被触发。我一直坚持这几天,经过大量的研究后我无法弄清楚。我对Drupal比较陌生,希望有人能够对此有所了解。非常感谢您的帮助!