ノード更新時にメニューツリーの親を変更したい。「rules」という名前のモジュールを使用して更新イベントにアクセスしています。このコードは次のとおりです。
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レベル上になり、現在の状態では移動しません。メニュー項目。メニューツリー全体をある親メニュー項目から別の親メニュー項目に移動する簡単な方法はありますか?
これ欲しい、
--parent1 _
--child1 _
---サブチャイルド1
---サブチャイルド2
--parent2 _
これになるために:
--parent1 _
--parent2 _
--child1 _
---サブチャイルド1
---サブチャイルド2
手伝って頂けますか?これを行うDrupalの方法はありますか?=)
このコードは多くの仮定をしていることを知っていますが、特定の1つの場合にのみ必要です