相关疑难解决方法(0)

如何在Drupal 7中禁用字段或使其只读

我试图禁用几个字段,并通过hook_page_alter()使它们只读.我能够检查用户是否正在查看页面编辑部分(表单编辑)

$page['content']['system_main']['#node_edit_form'] == TRUE)
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试禁用几个字段时,我发现此代码可以禁用选择列表:

$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#attributes']['disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

但如果我使用以下代码,它不起作用:

$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

我还发现我不能使用相同的代码来禁用文本区域字段:

$page['content']['system_main']['field_my_text_area']['und']['#attributes']['disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

上面的代码不会禁用文本区域,但相同的代码可以禁用选择列表!

然后我尝试了hook_form_alter()做同样的事情,我能够禁用字段,当我从$ page数组中检查渲染数组时,我看到它显示:

$page['content']['system_main']['field_my_field_name_a_select_list']['und']['#disabled'] = TRUE;
Run Code Online (Sandbox Code Playgroud)

但是当我在hook_page_alter()中设置相同的代码时,它不起作用.看起来其他东西会覆盖它,我认为hook_page_alter()是最后一个改变标记的地方.

知道什么是在drupal 7中的hook_page_alter()内部禁用/只读任何类型字段的最佳方法是什么?

谢谢

field form-api drupal-7

6
推荐指数
1
解决办法
3万
查看次数

Drupal 7:如何更改图像字段小部件"alt"或标题"标签

我正在尝试更改节点添加表单上的图像小部件中的"alt"和标题"标签".

Drupal 7 Alt和Title字段用于编辑

我试过这两个钩子:

hook_field_widget_form_alter
hook_form_alter
Run Code Online (Sandbox Code Playgroud)

我无法找到我需要去哪里成功改变标签.有人可以指导我以适当的方式加入这个并改变它们吗?如果它有所作为,我正在从自定义模块中击中它们.通过主题击中它们对我来说也没问题.

任何人的想法?

widget drupal-7 hook-form-alter

3
推荐指数
1
解决办法
5627
查看次数

标签 统计

drupal-7 ×2

field ×1

form-api ×1

hook-form-alter ×1

widget ×1