ホームページ > php教程 > PHP源码 > drupal7 - menu下所有node复制一份

drupal7 - menu下所有node复制一份

PHP中文网
リリース: 2016-05-25 17:01:52
オリジナル
1153 人が閲覧しました


$menu_name = 'menu-main-menu-us';

function _node_setup($node) {
	// domain option set to United States
	$node->domain_site = FALSE;
	$node->domains = array(2 => 2);
	$node->subdomains = array(0 => 'United States');
	return $node;
}

$menus = menu_tree_all_data($menu_name);

function _menu_recursion($menus) {
	foreach($menus as $menu) {
		if(preg_match("/node\\/(\\d+)/i", $menu['link']['link_path'], $matches)) {
			$node_id = $matches[1];
			// clone node
			$oNode = node_load($node_id);
			$node = clone $oNode;
			$node->nid = NULL;
			$node->vid = NULL;
			$node->tnid = NULL;
			$node = _node_setup($node);
			node_save($node);

			// reset menu
			$menu_obj = menu_link_load($menu['link']['mlid']);
			$menu_obj['link_path'] = 'node/'.$node->nid;
			$menu_obj['href'] = 'node/'.$node->nid;
			menu_link_save($menu_obj);
		}
		if(!empty($menu['below'])) {
			_menu_recursion($menu['below']);
		}
	}
}

_menu_recursion($menus);
ログイン後にコピー

                   

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート