1、首先你要去除登陆block中的链接:
drupal 的 api中有个hook_form_alter(&$form, &$form_state, $form_id)的方法是用来修改表单的。这个函数的作用范围很广,因此需要使用其中的$form_id来判断是否作用到你需要修改的表单。drupal默认的登陆block的form id 是user_login_block。
在这个hook方法中能找到$form这个array中有个links的array,将他unset掉。这样form 在建立的时候就不会有Create new account和Request new password连接了。
Comments
drupal
drupal 的表单,有太多的附加文字等。并且,如加上captcha,会有更多的内容。
如何只提取出一些表单,而去掉无关的文字?
有哪些方法实现?
谢谢。
解决方法
1、首先你要去除登陆block中的链接:
drupal 的 api中有个hook_form_alter(&$form, &$form_state, $form_id)的方法是用来修改表单的。这个函数的作用范围很广,因此需要使用其中的$form_id来判断是否作用到你需要修改的表单。drupal默认的登陆block的form id 是user_login_block。
在这个hook方法中能找到$form这个array中有个links的array,将他unset掉。这样form 在建立的时候就不会有Create new account和Request new password连接了。
2、如果需要验证码 你需要安装验证码模块,类似的模块有很多。然后再验证码模块配置的地方选择你需要加入验证码的表单就可以了。
登录窗口
想让网站有一个独立的用户登录窗口,用户登录后才能访问网站?
现在还不清楚如何修改代码。
hook_form_alter(&$form, &$form_state, $form_id) 这个API 函数在哪个文件中找呢?
像Drupal的API 函数,操作都是什么内容呢(node ,block,View。。。 )
登录窗口
首先你要清楚你是用的是drupal6还是drupal7.他们的api有些变化
http://api.drupal.org/api/drupal 这里可以查到各种api文档
drupal的form基本都有封装的方法
参考:
http://api.drupal.org/api/drupal/developer%21topics%21forms_api_referenc...
http://api.drupal.org/api/drupal/includes%21form.inc/group/form_api/7
如果对drupal结构上不清楚的话不妨找本书看看
http://groups.drupal.org/node/281648#comment-885873
1、自定义CSS调整就可以 2、自己写个模块来实现登录或修
1、自定义CSS调整就可以
2、自己写个模块来实现登录或修改原登录区块。
个人喜欢第一种,但有的登录表单差异太大时,可采用第二种。
Drupal 中文开发教程
谢谢大家。
谢谢大家。
Think in Drupal
Think in Drupal 的第3集,有个现成的例子,和你的示例图基本一样。
我的drupal博客Think in Drupal