Form Expose- View Help me!

Events happening in the community are now at Drupal community events on www.drupal.org.
Posted by dovantuyen on March 29, 2012 at 7:48am

Bạn nào có thể chỉ giúp mình :
Mình tạo một view expose thành form search user. Trong form đó có 1 textfield mình expose từ field năm của mình. Giờ mình muốn người ta nhập tuổi muốn tìm và dùng hook để tính ra năm sinh người ta muốn tìm tức là lấy năm hiện tại trừ đi giá trị trong textfield và gán lại giá trị đó vào field năm để tiến hành search.
Thanks All

Comments

Sử dụng views_query_alter đi

Posted by Nothing4ever on March 29, 2012 at 8:56am

Sử dụng views_query_alter đi bạn
Ví dụ nhé

function mymodule_views_query_alter(&$view, &$query) {
// Only apply this where clause on the search issue project view.
if ($view->name == 'NodeSearchByMultiField') {
// Get the keyword used for the search.
$text_query = isset($_GET['author_id']) ? $_GET['author_id'] : '';

//Add relationship
//$view->query->add_relationship('content_field_author', new views_join('content_field_author', 'vid', 'node', 'vid','INNER'));

// Add a new group to the query with an OR group operator.
$view->query->add_where('alter_views_exposed_group', "node_data_field_author.field_author_nid LIKE '%%%s%%'", $text_query);

$view->query->set_group_operator('AND');

}
}

Thanks

Posted by dovantuyen on March 29, 2012 at 9:34am

Mình chỉ cần gán lại giá trị cho một field trước khi submit form đó thôi bạn

ebooks-downloadfree.com

Bạn thử hook_init() rồi thay

Posted by thehong on March 29, 2012 at 5:34pm

Bạn thử hook_init() rồi thay đổi giá trị của $_GET coi sao - chiêu này hơi bẩn :D

Thanks Anh

Posted by dovantuyen on March 29, 2012 at 5:56pm

Anh thehong có thể nói rõ hơn chút được không . Em mới vào nghề nên mấy vần đề này còn non kém quá :D

ebooks-downloadfree.com

Tạo module tên yourmodule,

Posted by thehong on March 30, 2012 at 2:23am

Tạo module tên yourmodule, rồi viết hàm này dzô :P

<?php
function yourmodule_init() {
if (!empty(
$_GET['tuoi'])) {
$_GET['date_filter'] = date('Y') - $_GET['tuoi'];
}
}
?>

Thanks anh Thehong

Posted by dovantuyen on April 5, 2012 at 9:45am

Vấn đề là em muốn user nó nhập tuổi vào đó anh và khi nhập tuổi thì mới lấy giá trị đó . date_filter=day('Y')-$_Get['tuoi'].
Nhưng do em expose field đó là định dạng em để là năm nên không thể nhập tuổi được anh ạ.

ebooks-downloadfree.com

Hook_form_alter

Posted by nhan_go1 (not verified) on March 30, 2012 at 4:24am
nhan_go1's picture

Bạn có thể hook_form_alter cũng được đó

Thanks

Posted by dovantuyen on March 30, 2012 at 4:44am

mình cũng đang hook form alter mà nhưng chưa lấy được giá trị từ text box . Tức là khi người ta nhập tuổi đó mình phải lấy được giá trị đó trước khi submit để lấy năm hiện tại trừ đi tuổi thì có năm người ta muốn tìm và gán nó vào filter năm để search :(. Đang test thử cái function của anh Thehong chưa biết kế quả sao:D

ebooks-downloadfree.com

Ban nen rewrite len form do

Posted by nhan_go1 (not verified) on March 30, 2012 at 5:20am
nhan_go1's picture

Có nghĩa lài bạn se dung form_state để lấy giá trị, sau đó rewrite lai form đó, chac chan sẽ được
ban có file name la: abc

Con khong ban co the hook form submit
Chúc bạn thành công

Thanks Nhan_go

Posted by dovantuyen on March 30, 2012 at 3:42pm

không hiểu sao làm mãi vẫn chưa được nhan_go có nick yahoo or sky gì không có thẻ cho mình rồi hướng dẫn cho mình cụ thể chút đc ko? Thanks bạn nhiều!

ebooks-downloadfree.com

Skype

Posted by nhan_go1 (not verified) on April 1, 2012 at 6:32am
nhan_go1's picture

le.quang.nhan
Ban co muon hoi ji thi hoi nha

Chủ topic nên gửi code của cái views vào đây. Hiện tại không có code gì ráo. Nên dẫn đến tình trạng trả lời chưa đúng ý tác giả. Và tốt hơn nữa là chụp vài cái pic đưa lên.

AltStyle によって変換されたページ (->オリジナル) /