首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何限制用户每天张贴一个节点?

如何限制用户每天张贴一个节点?
EN

Drupal用户
提问于 2015-03-09 08:17:23
回答 1查看 933关注 0票数 6

我正在制作一个日记网站,在那里用户可以做一个每日日记条目。一个节点充当一个日记页,所以我很自然地需要限制用户每天做一个节点。我该怎么做?

我试过的步骤

使用

节点极限

这包含了每天一个节点的选项。但事实上,它是每24小时一个节点。所以如果我的用户在下午3点写日记的话,他们必须等到第二天下午3点才写下一篇日记。因为它是日记,如果每天午夜重新设置限制会更好,但似乎没有办法做到这一点。

使用

规则

规则的问题在于你必须启动节点创建的规则。这就产生了可用性问题,因为我的用户会在被告知不允许之前完成他们的日记条目(不允许的第二项)。

EN

回答 1

Drupal用户

发布于 2016-04-28 11:44:45

您可以使用规则模块和标志模块来实现这一点,详情如下.

步骤1-内容类型

创建用于这些日记条目(节点)的专用内容类型,让我们将此类型称为日记(机器名为diary)。因此,要添加日记条目,可以使用像node/add/diary这样的路径。

步骤2-旗帜

使用标志模块创建一个标志。让我们称它为DailyDiaryCompleted。

步骤3-禁止在同一天使用

的多个节点的规则

创建一个规则,当用户想要开始添加一个新的日记条目时触发它,所以使用node/add/diary路径。请参考我对"如何限制仅将特定内容类型的内容添加到付费成员身份?“的回答,以获得可用作示例的规则。有关此规则的详细信息,请继续阅读。

规则事件

使用规则事件"Drupal正在初始化“。

规则条件

  1. 一个与"site:current-page:url“相关的条件,以检查它是否与node/add/diary匹配。
  2. 检查"this user“是否已经使用DailyDiaryCompleted标志标记的条件。

规则动作

设置一个drupal错误消息,以指示他们已经创建了这样的日记节点“今天”(阻止他们开始创建这样的新节点)。

步骤4-标记每日日记完成

的规则

创建规则,该规则在保存新的Diary类型节点后触发。规则操作是用DailyDiaryCompleted标志标记这个用户。

步骤5-日常事务管理规则

创建一个规则,列出使用DailyDiaryCompleted标记的所有用户,并为每个用户执行该标志的取消标志。

步骤6-每日客房管理

使用"每天一次的规则“模块。下面是它的工作方式(根据第2495775期评论,来自模块所有者):

  • 在“管理设置”页上指定此模块的触发时间。
  • 然后,当cron任务在该小时开始后第一次运行时,规则触发器将运行。实际运行时间将取决于您的cron任务时间。

我理解/阅读这篇文章的方式(虽然还没有尝试过)是这样的:

  • 只有在运行cron作业时才会触发“事件”。
  • 该事件将只触发1次/天,即“下一次cron在触发时间过去后运行”。

因此,通过调度规则(从上一步开始,即(“日常事务处理规则”)午夜后不久,所有前一天被标记的用户将能够再次创建一个新的日记节点“第二天”。

票数 2
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/150892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档