我想在节点更新时更改菜单树的父级。我正在使用名为“规则”的模块来访问更新事件,我的代码如下:
if ($node->taxonomy[1] == "1") {
$plid = 440;
} else if ($node->taxonomy[1] == "2") {
$plid = 379;
}
if($plid) {
db_query("UPDATE {menu_links} SET plid='".$plid."', p1='".$plid."' WHERE link_path='"."node/".$node->nid."'");
}
问题是这个更新的 $node 在它下面还有一些子菜单项,在主菜单中,当我更新节点以更改父级时,它的子级最终会更高一级并且不会被当前移动菜单项。有没有一种简单的方法可以将整个菜单树从一个父菜单项移动到另一个?
我要这个,
-父母1
--孩子1
---子子1
---子子2
-父母2
变成这样:
-父母1
-父母2
--孩子1
---子子1
---子子2
你能帮助我吗?有没有一种 Drupal 的方式来做到这一点?=)
我知道这段代码做了很多假设,但我只需要它来处理一个特定的情况