【问题标题】:Adding forced preview to node and change submit button value in Drupal?向节点添加强制预览并更改 Drupal 中的提交按钮值?
【发布时间】:2009-09-07 20:37:05
【问题描述】:

这个问题有两个方面:

  1. 有什么方法可以强制用户在提交之前先预览特定节点?即,并非所有节点都使用 /admin/content/node-settings ...,但只有一个特定节点。
  2. 有什么方法可以将标签改为“提交”和“预览”,而不是“处理”和“审核”?

【问题讨论】:

    标签: drupal content-type


    【解决方案1】:

    这两个问题的基本答案是hook_form_alter()。您需要检查 $form_id 参数以确定您是否在节点编辑表单上(他们获得 id [contenttype]_node_form,请参阅 API 文档页面上示例实现的第一行以了解触发所有内容类型)。

    对于您的需求 1,您将检查 $node->nid 以查看它是否是您的特定节点。如果是这样,您将更改表单提交按钮定义“#access”条目以禁用它,如果您不在预览页面上(请参阅节点模块中的node_form() 函数,了解 Drupal 如何执行此操作 - 很远函数结束)。

    对于您的需求 2,您只需更改 $form 数组中提交和预览按钮定义的“#value”条目。

    【讨论】:

      【解决方案2】:

      您可以在/admin/content/node-settings (Drupal 6) 更改是否需要在发布前进行预览。

      至于更改按钮文本,您可能必须使用表单上的代码挂钩或主题中的某个位置来完成。

      【讨论】:

      • 有没有办法强制它只用于 ONE 节点类型?
      • 在 Drupal 核心中?据我所知不是。有人可能已经编写了一个模块来做到这一点。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 1970-01-01
      相关资源
      最近更新 更多