Posted by chuyennv on April 14, 2012 at 4:38am
Chào các bạn,
Lấy ra một trường trong user:
Mình vào Configuration --> Account settings --> Manage fields.
Rồi tạo thêm một trường cho user như sau:
| Label -------| Name
| birthday ----| field_date
Bây giờ mình muốn viết một module tạo ra một block và hiển thị lời chào đến thành viên vào đúng ngày sinh nhật thì phải làm thế nào?
function birthday_block_view($delta = '') {
$block['subject'] = t('- Birthday -');
//Neu hom nay la ngay sinh nhat cua thanh vien dang online thi hien thi: "Chuc mung sinh nhat!".
$block['content'] = $user->birthday;
return $block;
}
Comments
Chào bạn, Bạn dùng global
Chào bạn,
Bạn dùng global $user;
Sau đó $user->machinenamefieldbirthday sẽ ra ngày sinh nhật, sau đó muốn làm gì thì làm.
Biến chính xác ở đây gì, mình
Biến chính xác ở đây là gì, mình thử nhiều kiểu không được!!!
$user->machinenamefieldbirthday
thanks
$user->field_date["und"][0]['
$user->field_date["und"][0]['value']
Mà mấy cài này bạn print_r($user) ra là bạn thấy thôi mà.
MinhVN
Xin chào, Sorrry, cái đó gọi
Xin chào,
Sorrry, cái đó gọi là machine name là tên mà bạn đặt cho field khi tạo field, còn lấy ra như thế nào bạn chỉ cần in ra dùng print_r dựa trên machine name, khi bạn in ra sẽ thấy dạng mãng (array). Bạn dựa trên đó mà lấy ra. Giống như cách bạn MinhVN trình bày. Đại loại như vậy, nếu bạn vẫn chưa rõ thì mình sẽ demo cho bạn coi nếu cần.
Thanks.
Mình đã thử nhiều cách và
Xin chào,
Mình đã thử nhiều cách và cuối cùng đã làm được theo cách sau:
.
.
function birthday_block_view($delta = '') {global $user;
$u = db_select('field_data_field_date')->fields('field_data_field_date', array('field_date_value'))->condition('entity_id', $user->uid)->execute();
foreach ($u as $us) {
$birthday = $us->field_date_value;
}
$block['subject'] = t('- Birthday -');
$block['content'] = format_date($birthday, 'custom', 'D, d M Y');
return $block;
}
làm được rồi
Vừa thiết kế một diễn đàn, nhờ các bạn đã tư vấn cho bạn chủ thớt mà mình đã làm được ! cảm ơn mọi người !
My blog: Jamviet.com, Hỏi đáp trực tuyến, váy dài