我是Drupal的初学者。当用户创建他们的帐户时,他们可以选择拥有个人联系表单。我该去哪里禁用它?这不是权限。这不是一个糟糕的选择,但我知道这会让我的网站用户感到困惑。它甚至可能吓跑了一些人!
答案 0 :(得分:6)
在Drupal 7中测试。
将以下内容放在主题的template.php中。将MYTHEME更改为您的主题名称。
function MYTHEME_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'user_profile_form') {
$form['contact']['#access'] = FALSE;
}
}
请注意,访问权限设置为false,而不是取消设置(),即删除。这样我们就不会干扰数据流。
答案 1 :(得分:3)
如果您在Drupal 6或5中访问admin / build / contact / settings,您可以取消选中“默认启用个人联系表单”
答案 2 :(得分:2)
个人联系表单不是您在Drupal中默认获得的。有些模块可以做到这一点,你可能已经激活了这样一个模块。检查您在admin / build / settings中激活了哪些模块。
如果您只想为普通用户禁用此选项,则应该检查您的权限设置。
答案 3 :(得分:2)
在“核心 - 可选”下禁用“联系”模块。查看与“联系”相关的任何内容的用户权限,然后取消选中它。
个人推荐Webform处理网站范围的联系表格。它将允许您使用UI构建表单。获取“联系我们”页面的最简单方法。
答案 4 :(得分:2)
Drupal 7
所有答案请勿删除“ 用户/%/编辑 ”中显示的个人联系选项部分(D7)
对于Drupal 7的删除标签和设置:
/**
* Implements hook_form_alter().
*/
function MY_MODULE_form_alter(&$form, &$form_state, $form_id) {
if ('user_profile_form' === $form_id) {
$form['contact']['#access'] = FALSE;
}
}
/**
* Implements hook_preprocess_page().
*/
function MY_MODULE_preprocess_page(&$variables) {
$menu_items = menu_get_item();
if('user/%/edit' === $menu_items['path']){
$variables['page']['content']['content']['content']['system_main']['contact']['#access'] = FALSE;
}
}
后:
答案 5 :(得分:1)
Drupal 6:
如果您希望启用网站范围的联系表单,但甚至不向用户显示个人联系表单的选项,则必须执行以下步骤:
创建自定义模块
http://www.hankpalan.com/blog/drupal/make-custom-drupal-module
将此代码添加到.module文件中:
function your_module_name_form_user_profile_form_alter(& $ form,& $ form_state){
取消设置($ form ['contact']);
}
答案 6 :(得分:0)
检查您在drupal上设置的模块,或检查联系表单的设置。我相信它可以选择网站范围的联系表格和用户联系表格。
答案 7 :(得分:-1)