在Drupal 7中,有没有办法根据特定内容更改内容类型的标准编辑形式?
例如:
我有一个带有复选框的内容类型...一旦选中并保存表单,我不希望该复选框再可见...因此,根据数据库中的复选框值,我想在以下情况下隐藏表单字段显示表格。
我正在构建一个小型的特定项目网站,公司想要在其中添加项目,他们的客户应该遵循某些步骤(上传一些内容,提供信息等),并且还应该能够检查某些要求,并且一旦这些已被选中,他们不应该看到/编辑它们。
此外,显示的表单字段应取决于用户的角色,然后进一步根据内容的数据库条目进行限制。
是否有一个模块可以实现这种行为? “规则”和“字段/权限”接近我的需要,但还不够。或者我只是错过了根据条件更改表单字段的可访问性的选项?
我需要的是在某个地方定义一个逻辑,如“IF (VALUE OF(CHECKBOX) == TRUE) THEN DO_NOT_SHOW(CHECKBOX 1)”
正如 Mihaela 所解释的那样,hook_form_alter 是执行此操作的方法,但是该函数内部有哪些选项?
-
如果您只想禁用字段(它将可见,但用户无法更改它),您可以这样做:
$form['field_myfield']['#disabled'] = TRUE;
-
如果您希望隐藏它,但在编辑之前保留它的价值,则执行此操作的方法是:
$form['field_myfield']['#access'] = FALSE;
IE。隐藏它(我在某个地方看到有人建议这样做):
hide($form['field_myfield']);
确实隐藏了该字段,但之后,当保存表单时,该字段具有空值,验证失败等,所以这不是一个好方法。仅当您想稍后在其他地方单独打印该字段时,隐藏才有意义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)