【发布时间】:2013-09-17 10:19:09
【问题描述】:
在 Drupal 7 中,有没有办法根据特定内容更改内容类型的标准编辑表单?
例如:
我有一个带有复选框的内容类型...一旦它被选中并保存了表单,我不希望该复选框再可见...因此基于我想隐藏的数据库中的复选框值显示表单时的表单域。
我正在建立一个小型的特定项目站点,公司想要添加项目,并且他们的客户应该遵循某些步骤(上传一些内容,提供信息等),并且还应该能够检查某些要求,一旦这些被选中,它们就不应该对他们可见/不可编辑。
此外,显示的表单字段应取决于用户的角色,然后进一步受限于内容的数据库条目。
是否有一个模块可以实现这种行为? “规则”和“字段/权限”接近我需要的,但还不够。还是我只是错过了根据条件更改表单字段的可访问性的选项?
我需要在某个地方定义一个逻辑,例如“IF (VALUEOF(CHECKBOX_1) == TRUE) THEN DO_NOT_SHOW(CHECKBOX_1)”
【问题讨论】:
-
为什么不使用 hook_form_alter?您可以在那里获取所有值并禁用/删除元素。
-
默认情况下,Drupal 不提供开箱即用的此类功能。由于您的要求非常具体,因此 hook_form_alter 是您可以使用的唯一选项。您需要检查特定字段中的值,然后将其隐藏。或者尝试使用依赖/条件字段模块。
标签: forms drupal permissions field