gpt4 book ai didi

drupal 表单更改从内容创建/编辑表单中删除 cck 字段

转载 作者:行者123 更新时间:2023-12-01 11:58:22 24 4
gpt4 key购买 nike

从内容类型创建/编辑表单页面中删除 cck 字段显示的代码是什么?

最佳答案

将“#access”字段设置为“0”或“FALSE”。

例如,这会从站点信息页面中删除“站点任务”字段:

function example_form_system_site_information_settings_alter(&$form, &$form_state){
$form['site_mission']['#access'] = 0;
}

(其中“example”是自定义模块的名称)


另一个例子,这次它从添加/编辑页面表单中删除了 Sticky 选项:

function example_form_page_node_form_alter(&$form, &$form_state){
$form['options']['sticky']['#access'] = 0;
}

您可能已经知道了,但是您需要知道您希望更改的表单的 ID(和结构)。

大多数时候,hook_form_THEID_alter(&$form, &$form_state) 是修改特定表单的好地方,但是有些字段是在调用这个钩子(Hook)之后创建的,所以在这种情况下,您需要改用通用的 hook_form_alter(&$form, $form_state, $form_id)


如果您不知道结构甚至表单 ID(并且不想安装 Devel module),您可以使用这个代码片段,这样当您查看要修改的页面时,它将在页面顶部显示表单 ID 及其结构。

function example_form_alter(&$form, $form_state, $form_id){
echo "<h1>Form ID: $form_id</h1>";
echo "Form Structure: <pre>".print_r($form, true)."</pre>";
}

(其中“example”是您的自定义模块的名称)。


顺便说一下,如果您只是想阻止普通用户编辑仅限管理员的字段,您可以简单地使用 Field Permissions module相反。

关于drupal 表单更改从内容创建/编辑表单中删除 cck 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955818/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com