function create_nest_menu($root, &$nest_menu, &$terms_selected) { global $cat; if (empty($root)) { return; } // 叶节点 if (count($root) == 1 and array_key_exists('id', $root)) { $terms_selected[] = $root['id']; $nest_menu .= '<li class="dd-item dd3-item" data-id="' . $root['id'] . '">' . "\n"; $nest_menu .= '<div class="dd-handle dd3-handle">Drag</div>' . "\n"; $nest_menu .= '<div class="dd3-content">' . $cat->getTermName($root['id']) . '</div>' . "\n"; $nest_menu .= '<li>' . "\n"; return; } // 父目录 if (count($root) == 2 and array_key_exists('id', $root)) { $terms_selected[] = $root['id']; $nest_menu .= '<li class="dd-item dd3-item" data-id="' . $root['id'] . '">' . "\n"; $nest_menu .= '<div class="dd-handle dd3-handle">Drag</div>' . "\n"; $nest_menu .= '<div class="dd3-content">' . $cat->getTermName($root['id']) . '</div>' . "\n"; // 该目录的子目录 create_nest_menu($root['children'], $nest_menu, $terms_selected); $nest_menu .= "</li>" . "\n"; return; } $nest_menu .= '<ol class="dd-list">' . "\n"; foreach ($root as $key => $val) { if (is_numeric($key)) { create_nest_menu($val, $nest_menu, $terms_selected); } } $nest_menu .= "</ol>" . "\n"; }
echo $term['term_id']; ?> "> <div class="dd-handle dd3-handle">Drag</div> <div class="dd3-content"><?php echo $term['term_name']; ?> </div> </li> <?php } echo '</ol></div>'; } $menu_arr = json_decode($menu, true); // 已经被添加到菜单中的分类 create_nest_menu($menu_arr, $menu_selected, $terms_selected); $terms = Category_Model::getInstance()->getTermsAll(); $term_ids = array(); foreach ($terms as $term) { $term_ids[] = $term['term_id']; } // 还未被添加到菜单中的分类 $terms_not_selected = array_diff($term_ids, $terms_selected); foreach ($terms_not_selected as $term_id) { $menu_not_selected = '<li class="dd-item dd3-item" data-id="' . $term_id . '">' . "\n"; $menu_not_selected .= '<div class="dd-handle dd3-handle">Drag</div>' . "\n"; $menu_not_selected .= '<div class="dd3-content">' . $cat->getTermName($term_id) . '</div>' . "\n"; $menu_not_selected .= '<li>' . "\n"; } if (empty($menu_not_selected)) { $menu_not_selected = '<h2>无还未添加到菜单的分类</h2>';