Hỏi về chuyển hướng fillter view.

Events happening in the community are now at Drupal community events on www.drupal.org.
Nothing4ever's picture

Cho mình hỏi là mình expose một view và sau khi click vào fillter thì nó chuyển đến một trang theo ý của mình (K sử dụng page display của view nhé), chứ k phải mặc trang mặc định

Ví dụ: ban đầu nó sẽ là http://nhadatonline.vnn.vn/?price=.....
Mình muốn nó là http://nhadatonline.vnn.vn/realestate?price=..... (thêm realestate đằng trước)
Mình code như sau

if ($form['#id'] == "views-exposed-form-nhadat-search-default") {
$form['submit']['#submit'][]='my_form_alter_submit';
}

function my_form_alter_submit($form, &$form_state) {
$r = $form_state['redirect'] ;

$form_state['redirect'] = 'realestate/'.$r ;

}

Mình code vậy có đúng không nhỉ, mọi người giúp mình phát nhé :)

Comments

Dùng drupal_goto('redirect

khuongkd's picture

Dùng drupal_goto('redirect path') ấy

Oh

Nothing4ever's picture

Oh mình đã làm được rồi
Có 2 cách
1. Dùng javascript override action của form "views-exposed-form-nhadat-search-default"
2. Edit function mythem_form($element) {
if($element['#id'] = 'views-exposed-form-nhadat-search-default') {
$action = 'action="/realestate" ';
}else {
$action = $element['#action'] ? 'action="'. check_url($element['#action']) .'" ' : '';
}
return '<form '. $action .' accept-charset="UTF-8" method="'. $element['#method'] .'" id="'. $element['#id'] .'"'. drupal_attributes($element['#attributes']) .">\n

". $element['#children'] ."\n

\n";
}
Cách này tham khảo theme_form() là tìm ra ngay vấn đề :)