【发布时间】:2009-09-07 20:37:05
【问题描述】:
这个问题有两个方面:
- 有什么方法可以强制用户在提交之前先预览特定节点?即,并非所有节点都使用 /admin/content/node-settings ...,但只有一个特定节点。
- 有什么方法可以将标签改为“提交”和“预览”,而不是“处理”和“审核”?
【问题讨论】:
标签: drupal content-type
这个问题有两个方面:
【问题讨论】:
标签: drupal content-type
这两个问题的基本答案是hook_form_alter()。您需要检查 $form_id 参数以确定您是否在节点编辑表单上(他们获得 id [contenttype]_node_form,请参阅 API 文档页面上示例实现的第一行以了解触发所有内容类型)。
对于您的需求 1,您将检查 $node->nid 以查看它是否是您的特定节点。如果是这样,您将更改表单提交按钮定义“#access”条目以禁用它,如果您不在预览页面上(请参阅节点模块中的node_form() 函数,了解 Drupal 如何执行此操作 - 很远函数结束)。
对于您的需求 2,您只需更改 $form 数组中提交和预览按钮定义的“#value”条目。
【讨论】:
您可以在/admin/content/node-settings (Drupal 6) 更改是否需要在发布前进行预览。
至于更改按钮文本,您可能必须使用表单上的代码挂钩或主题中的某个位置来完成。
【讨论】: