问题标签 [drupal-rules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
drupal-7 - 规则动作:添加节点
有没有办法(当我添加用户时)以他为作者创建一个节点?
是否可以编写自己的动作?
drupal-7 - Drupal 7:在嵌入式网络表单块上使用规则
我有一个“订阅我们的时事通讯”网络表单(可以是任何网络表单)——比如 node/41——我嵌入到一个块中(块 ID 是“client-block-14”)。这样做是为了使其可以在不同页面的不同区域中显示。没有直接链接到 node/41。
提交表单时,我不希望用户被重定向。我希望用户停留在他/她当前所在的页面上(例如主页、产品等),并显示一条自定义消息,说明提交成功。
问题是我只想要这个网络表单的规则,而不是网站上的其他网络表单(联系我们)。
这是我尝试过的规则。
- 保存新内容后
- 条件1:内容类型为webform
- AND 条件 2:节点 id 为 41
- 动作:显示消息
我如何转换此规则(并添加无重定向)以在嵌入式块上工作,因为它显然没有节点 ID 而是块 ID?
drupal - 使用规则防止内容创建/编辑
是否可以仅根据规则避免内容创建/编辑?
例如,重定向到主页或其他页面的“节点保存之前”的规则。
这会阻止节点保存还是只是保存然后重定向?如果它确实阻止了,它是否像伪造提交到真实保存网址的表单一样可破解?
php - Drupal:使用规则和自定义 php 代码编写分类参考字段
我有一个像这样的分类词汇类别:
- Kat01
- 儿童01
- 儿童02
- 卡特02
- 儿童01
- 儿童02
词汇表有一个自定义字段,其 ID 如下:957214d2-ce39-423d-aeb1-32f2e8b972f6,因此每个术语和父术语都有一个 ID(这不是 tid!)。
我有一个带有引用分类字段kategorie的内容类型。还有一个名为kategorieTempId的数组字段,其值与 kategorie-taxonomy 中的值相同。该数组中的 ID 数量表示术语和父术语的层次顺序。因此,如果节点应该位于 kategorie -Kat01 -> Child01 中,则 kategorieTempId 中将有两个 ID ,一个用于父项,一个用于子项。
现在我需要获取子术语的 ID,而不是从词汇表中获取分类术语并将其写入引用的术语字段。
到目前为止我所做的:
设置一个规则,在保存节点之前触发该规则,使用操作Fetch entity by property将分类术语从词汇表中获取到数组中。然后我添加一个动作Execute custom PHP code来查找子 tid 并将其写入一个名为katReturn的字段中。
这是我使用的代码(我是一个完全的 php 初学者,我不知道这是否是一种优雅的方式,但它有效):
所以现在我知道子术语的 tid,我想把它写到参考分类领域,但我不明白。我尝试的代码是:
我希望,我说清楚了我想要什么。正如我之前所说,我的 php 技能是有限的,我感谢任何帮助,这为我指明了正确的方向。谢谢。
dynamic - 使用规则动态更新 webform 提交的字段
我是 drupal 的新手,在创建提交后动态更新 webform 字段的规则方面寻求帮助。我使用 webform 为赞助商创建了一个表单,并在保存到 ubercart 产品进行付款后重定向。现在我必须根据产品(Platinum Sponsorship/Gold Sponsorship)创建规则,并在订单完成时更新赞助字段。我创建了规则,但在将字段(规则操作)赞助商的值设置为(白金/黄金)时卡住了,因为网络表单字段没有出现在数据选择器中。
drupal - 使用 Drupal 动态创建字段
好的,假设我有一个基本的人口统计内容类型(客户端),我将其保存为节点。
我需要为我们偶尔需要使用的外部数据库创建一个密钥。
我希望 Drupal 获取客户端内容类型中收集的三个字段的片段,并将它们连接到单个字段中以保存在客户端内容类型中。理想情况下,这应该在我创建一个新的(客户端)节点时完成。
新字段应包含以下名字的前 3 个字母姓氏的前 3 个字母和社会安全号码的最后 4 位数字。
例如
名字:John
姓氏:Doe
SSN:123-45-6789应该创建一个新字段,我们称之为 fk_database。使用上面的示例字段 >created 将是 -> johdoe6789
这可以通过规则模块完成,还是我应该以不同的方式处理?如果我需要通过 PHP 脚本执行此操作,那么应该在 Drupal 结构中的哪个位置添加?
drupal - 在规则条件下访问实体(内容)数据 - 奇怪的行为
我对drupal还很陌生,但是由于朋友让我帮助他,所以我对此有所了解。我设法让很多事情正常工作,但有一个问题我无法解决。这是我想要实现的目标:
将有课程表示为带有节点实体的 OG 组。每门课程的内容类型为“课程”(实体类型为节点)并有其价格。在规则中,我试图检查用户是否有足够的学分来加入课程,从而在“保存 og 会员资格之前”事件中触发它。如果用户没有足够的资金,我想中止 OG 会员保存并抛出一些错误。
非常简单,但是,有一些我没想到会出现的问题。这就是我所做/拥有的:
- 每个用户都有一个名为“field-credit”的自定义字段,这没有问题,因为我可以通过 site:current-user:field-credit 随时随地在规则中访问它
- course 只不过是简单的 OG 组,带有 Node 实体,自定义内容类型为“Course”,它定义了自定义字段“field-price”用于存储课程价格
在规则模块(通过 UI)中,我制定了这样的规则:
- 触发事件“在保存 og 成员资格之前”
- 条件如下(按顺序):
- 实体 [og-membership:group:entity] 是 Node 类型(确保我可以访问内容类型)
- 内容 [og-membership:group:entity] 是 Course 类型(确保我可以访问课程特定字段)
- 数据对比:[site:current-user:field-credit] 低于 [og-membership:group:entity:field-price]
这里有一些我无法完全理解的东西 - 添加这些条件后(实体类型表示我正在使用节点,节点内容类型表示我正在使用课程),我可以在数据选择器中看到我需要的所有字段,因此规则应该知道它们并使用它们。但实际上,它们并不存在!当我在其中显示带有 [og-membership:group:entity:field-price] 的消息时(仍然可以通过数据选择器访问),它不显示课程价格,就像没有这样的变量一样。我可以在操作中进行实体获取,但这没有用,因为在条件中看不到获取的实体(内容),甚至无法通过数据选择器访问以供进一步使用,例如“计算值”操作,因为它不知道它的(实体)内容类型(但是 [fetched-entity:
谁能告诉,为什么会发生这种情况或更好,如何解决?我不想为某些东西编写自己的模块,这可以通过开箱即用的规则来实现,但是这种行为已经困扰了我 2 天。
系统在 Drupal 7 上运行。
编辑:在“保存新内容后”的规则触发中,一切都按预期设置,检查内容类型(内容[节点]是课程类型),所以我很确定课程的所有字段都可用。
drupal - 如何通过drupal中的规则填写日期字段
我的 drupal 页面 ( Drupal 7 ) 中的一种内容类型有一个日期字段。从 XML 文件导入开始小时、开始分钟和持续时间(整数值)后,我想通过规则设置节点的日期字段。似乎我无法访问日期字段的开始日期、结束日期、持续时间和重复。
是否有设置开始日期、结束日期、重复等的解决方案?
使用规则我想循环每个节点 A 的内容并想要创建节点 B 的内容。在创建时,我想使用节点 A 的值设置日期字段。日期字段具有“开始日期、结束日期和重复”等选项。我想设置这些值,但规则中没有“重复”的标记。
节点 A 只是一个帮助节点,我用来从带有提要的 XML 文件中导入我的值。提要(使用 XML 解析器)无法将不同的值(分钟、小时、持续时间、重复)映射到一个日期字段。所以我希望这条规则可以帮助我。创建节点 BI 后将删除节点 A。
drupal - 使用令牌作为数据选择器
我创建了以下令牌;但是,当我尝试在循环操作中使用 site:coupons 作为数据选择器时,它不会出现在数据选择浏览器中。请注意,当我使用例如“在站点上显示消息”操作时,它确实显示为替换模式。
我花了很多时间在互联网和规则'令牌'问题队列中搜索,我也尝试阅读核心令牌,令牌和规则的源代码。我还发现了一些信息,比如数据选择器没有标记!或规则仅适用于实体!到目前为止,无论我多么努力,我都无法让它发挥作用。我的数据不是实体。反正有没有将它与规则相结合?我找不到任何官方文档,所以我创建了一个问题,希望一些规则专家可以帮助我。
注意:如果我在下面的代码中用优惠券链接替换网站,它甚至不会在规则中显示为替换模式。但它在其他任何地方都可以作为令牌正常工作,但在规则中
提前致谢
drupal - 如何根据 ups 运输报价将 ubercart 设置为有条件的?
我正在使用带有 ubercart 运输的 Drupal 7。我的客户希望运输成本是地面报价,除非它 >= 50 美元。然后他想收取 50 美元的固定费用。
我创建了一个 50 美元的统一费率和一个 ups 地面报价。
我没有看到使用运输报价来确定运输方式的条件。有任何想法吗?