Posted by Nothing4ever on May 17, 2011 at 3:52am
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
Dùng drupal_goto('redirect path') ấy
ITFS Software
http://symphonythemes.com
Oh
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 đề :)