2009-06-23 67 views
0

我正在使用Drupal 6模块Content Profile来允许使用CCK定义的类型作为用户配置文件,它运行良好。我遇到的问题是,我希望首次完成配置文件以触发操作,但用户可能会保存配置文件而不完成配置文件。我的想法是通过保存按钮来指定“我的配置文件已完成”复选框,一旦用户满意,我们有另一个模块创建触发器,并使用node_api钩子检查节点的类型,操作以及此复选框的值。Drupal CCK字段级可见性

一旦触发了这个触发器,我不希望该复选框再次出现。如果我可以使用PHP代码设置复选框的可见性,我可以编写一个简短的脚本来确定已完成的操作是否已经发生,如果隐藏复选框。有没有允许这个模块?我一直无法找到一个。

我也看过使用相同的node_api挂钩来操作配置文件,因为它正在显示,但节点似乎只有字段的值,而不是可以像我预期的那样操作的表单对象。有没有一种编程式操作CCK表单的方法?

感谢

回答

0

我觉得hook form alter是你所追求的。这可以在呈现之前对表单执行更改。

+0

正是我需要的 - 谢谢 – Macros 2009-06-23 17:26:34

0

我会建议使用Save & Edit模块的另一种方法。默认情况下,将您的CCK配置文件类型设置为“未发布”。允许用户保存和/或保存和发布这个模块。在发布时,使用触发器和操作。

这种方法可以说更符合Drupal方式 - 配置定制。