php - 允许匿名用户在 Drupal 中创建未发布的节点?

标签 php drupal content-management-system triggers

我正在为一个基于 drupal 的客户创建一个站点,该客户希望匿名用户(未登录)能够创建一个新节点,但只能创建一个未发布的节点。然后管理员可以在自己发布之前查看节点并更改它。

我已经研究过使用触发器和操作,但是编写自定义触发器模块似乎有点令人生畏,因为我目前对 Drupal API 不是很熟练。任何想法表示赞赏。

最佳答案

对于 Drupal 7,您可以通过这种方式应用@Mirzu 解决方案:

function <your-module-name>_node_presave($node) {
    if (user_is_anonymous())
        $node->status = FALSE; // means unpublished
}

当然你也可以反过来做:
将内容类型定义为未发布,然后在 Hook 中为经过身份验证的用户将其设置为已发布

关于php - 允许匿名用户在 Drupal 中创建未发布的节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4771079/

相关文章:

PHP-MYSQLI : My login scripts logs direct users into the same page

php - 连接到本地数据库服务器时出错

php - 在 PHP 中使用 preg_match 通过多个分隔符拆分字符串

Drupal View 行输出

Drupal 7 向页面添加自定义菜单

content-management-system - awk 驱动的 CMS

php - 如何检测页面是否为 RSS 或 ATOM 提要

Drupal - 禁用分类术语页面上的节点列表?

java - 与 Jackrabbit 聚类

svn - Subversion 在存储大量二进制文件方面有多好?