回答
规则中有一个“添加到Nodequeue”的操作。我已经通过创建新规则解决了。
你不能将其设置在管理界面中,但可以使用hook_nodeapi
自定义模块中做到这一点op insert
。
我已经解决了通过创建一个新的规则,但是我也应该删除节点,当它从队列中删除..并没有条件触发器.. – aneuryzm 2010-08-21 08:18:56
我使用的是没有规则的drupal 5。这是我做到了,我没有使用任何子队列:
if($op == 'insert'){
if($node->type == 'node_type'){
$queue = nodequeue_load(4);
$subqueue = nodequeue_load_subqueue(4);
nodequeue_subqueue_add($queue, $subqueue, $node->nid);
}
}
我需要这个功能对于一个Drupal 7个网站,并采取了自定义模块的解决方案。假设设置是一个节点队列,并且每个“项目”节点都应该自动添加并移除到队列中。在sites/all/modules /中创建一个空的nodequeue_auto_add目录。这包含这两个文件
nodequeue_auto_add.info
name = Nodequeue auto add/remove
description = Automatically adds and remove nodes when they are created and deleted.
core = 7.x
version = 7.x-dev
package = Nodequeue
dependencies[] = nodequeue
nodequeue_auto_add.module
<?php
/**
* Implements hook_node_insert().
*/
function nodequeue_auto_add_node_insert($node) {
$nid = $node->nid;
$type = $node->type;
// only process project node
if ($type != 'project') {
return FALSE;
}
// I've only one nodequeue where a specific node type should always be
// added so this is taken from the mysql nodequeue_queue table
$queue_id = 1;
// subqueue id, exists even if we created a really basic nodequeue (from nodequeue_subqueue table)
$sqid = 1;
$queue = nodequeue_load($queue_id);
$subqueue = nodequeue_load_subqueue($sqid);
if (function_exists('views_invalidate_cache')) {
views_invalidate_cache();
}
nodequeue_subqueue_add($queue, $subqueue, $nid);
}
/**
* Implements hook_node_delete().
*/
function nodequeue_auto_add_node_delete($node) {
$nid = $node->nid;
$type = $node->type;
// only process project node
if ($type != 'project') {
return FALSE;
}
if (function_exists('views_invalidate_cache')) {
views_invalidate_cache();
}
// I've only one nodequeue where a specific node type should always be
// added so this is taken from the mysql nodequeue_queue table
$queue_id = 1;
// subqueue id, exists even if we created a really basic nodequeue (from nodequeue_subqueue table)
$sqid = 1;
nodequeue_subqueue_remove_node($sqid, $nid);
}
有此目的只是做一个简单的模块,两者的Drupal 6和Drupal 7 :
从[Nodequeue 7.x-3.x](http://drupal.org/project/nodequeue)不起作用。我认为这与这个问题有关[放弃所有使用$ qid](http://drupal.org/node/1160068)。尝试将auto_nodequeue的设置保存为“未定义的索引$ qid”错误... – thirdender 2013-04-19 22:31:11
有一个模块。检查一下,看看它是否有帮助。 https://www.drupal.org/project/auto_nodequeue/project/auto_nodequeue
尽管该模块并不完全符合OP“自动添加”请求,但它确实允许您配置内容类型,以便您可以将其直接添加到队列中:https://www.drupal.org/sandbox/rlhawk/1444496这是一个沙盒,但非常稳定,我使用它一直都很喜欢它。
- 1. 将Linklist节点添加到队列
- 2. 在Drupal 8中将节点添加到节点
- 3. 将js添加到Drupal节点表单
- 4. 自动将图像添加到节点主体字段|的节点列表中DRUPAL
- 5. Drupal - CCK - 节点引用 - 用于添加新节点的按钮
- 6. 添加新HA节点时自动配置现有HA节点
- 7. Drupal自定义节点添加表单
- 8. 木偶自动添加新节点
- 9. hook_view后自动刷新Drupal节点
- 10. Cassandra 1.0.6将新节点添加到当前单节点群集
- 11. 如何将新节点添加到现有节点在XML
- 12. JSTree:将节点阵列动态添加为节点的子节点
- 13. 添加新节点
- 14. 标签添加到Drupal的节点
- 15. 将子节点添加到节点列表
- 16. 将节点添加到div
- 17. 将节点添加到SelectedNode
- 18. 将节点添加到XML
- 19. 将节点添加到树
- 20. 如何将节点添加到动态节点提供程序?
- 21. 如何将新节点添加到dijit.Tree
- 22. 将事件添加到新节点
- 23. 如何将新节点添加到XML
- 24. Drupal直接链接在节点中添加节点
- 25. 将新节点添加到列表并动态命名它
- 26. XSL删除特定节点并添加新添加新节点
- 27. 添加节点到节点XML dom4j的
- 28. JSTree添加节点到子节点
- 29. 将父节点添加到XML中的子节点中
- 30. XQuery更新 - 新的节点添加到组节点
截至今天这仍然是一项工作正在进行对于Nodequeue 7.x-2.x分支(不确定大约7.x-3.x):[规则集成](http://drupal.org/node/1125922)。 – thirdender 2013-04-19 22:40:41
我无法找到在规则中添加到Nodequeue - 操作。 – Fahad 2014-04-13 13:58:06