Posted by pbn on August 16, 2010 at 1:24pm
Chào mọi người, em có gặp vài khó khăn sau mong mọi người chỉ giúp:
-
Trong phần user em bắt người dùng phải active accout qua email -> sau khi đăng ký drupal sẽ gởi link login 1 lần, em muốn là sau khi người dùng click vào link đó sẽ gọi 1 vài function khác. Có cách nào mình làm được như vậy mà không phải sửa core không?
-
Có cách nào khi đăng ký mình bắt người dùng phải nhập đầy đủ username, password, email nhưng sau khi active qua mail thì account mới được publish không? (chức năng email account activation thì không cho nhập password lúc đăng ký :d )
Em cám ơn!
Comments
Chào pbn, Xem hàm
Chào pbn,
Xem hàm user_mail_tokens (http://api.drupal.org/api/function/user_mail_tokens/6) thì thấy user_pass_reset_url() render ra login url. Đọc user_pass_reset_url() thì thấy là hàm đó render ra link dạng user/reset/%/%/%
Đọc user_menu (http://api.drupal.org/api/function/user_menu/6) thì thấy
<?php$items['user/reset/%/%/%'] = array(
'title' => 'Reset password',
'page callback' => 'drupal_get_form',
'page arguments' => array('user_pass_reset', 2, 3, 4),
'access callback' => TRUE,
'type' => MENU_CALLBACK,
'file' => 'user.pages.inc',
);
?>
Vậy có 2 cách hook vào đây:
1. Hook vào form user_pass_reset
2. Alter vào menu item trên để thay đổi page callback.
Thế Hồng
Cám ơn thehong đã trả lời,
Cám ơn thehong đã trả lời, sau khi tìm tòi thì mình thấy có module này có thể giải quyết được vấn đề của mình: http://drupal.org/project/logintoboggan
Diễn đàn công nghệ - Tin công nghệ - Tech 24G