tem988
چهارشنبه 13 اسفند 1393, 21:53 عصر
سلام
دوستان اگر توی وردپرس دیده باشید موضوعات به صورت مولتی هست مثلا به این صورت
-cat
--cat2
---cat3
-cat4
--cat5
-cat6
و لینک هاشون به این صورته
cat
cat/cat2
cat/cat2/cat3
cat4
cat4/cat5
cat6
کدی که نوشتم موضوعات مولتی رو ایجاد کردم ولی لینک های مولتی رو نتونستم دوستان اگر کسی بلده لطفا همین کد رو لینک هاشو درست کنه
کدی که نوشتم
$arrays = unserialize('a:7:{i:1;a:3:{s:2:"id";s:1:"1";s:4:"name";s:8:"Document";s:6:"par_id";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"2";s:4:"name";s:7:"image_1";s:6:"par_id";s:1:"1";}i:7;a:3:{s:2:"id";s:1:"7";s:4:"name";s:7:"image_2";s:6:"par_id";s:1:"1";}i:8;a:3:{s:2:"id";s:1:"8";s:4:"name";s:7:"image_2";s:6:"par_id";s:1:"2";}i:4;a:3:{s:2:"id";s:1:"4";s:4:"name";s:5:"Music";s:6:"par_id";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"5";s:4:"name";s:7:"Music_1";s:6:"par_id";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"6";s:4:"name";s:7:"Music_2";s:6:"par_id";s:1:"4";}}');
/*
echo "<pre>";
print_r($arrays);
echo "</pre>";
*/
function buildTreess(array &$elements, $parentId = 0) {
$branch = array();
foreach ($elements as &$element) {
if ($element['par_id'] == $parentId) {
$children = buildTreess($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
$branch[$element['id']] = $element;
unset($element);
}
}
return $branch;
}
function menu($arr)
{
global $Create_Array;
echo "<ul>";
foreach ($arr as $val) {
if (!empty($val['children'])) {
echo "<li><a href='?dir=".$val['name']."'>" . $val['name']."</a>";
menu($val['children']);
echo "</li>";
} else {
echo "<li><a href='?dir=".$val['name']."'>" . $val['name'] . "</a></li>";
}
}
echo "</ul>";
}
$tree = buildTreess( $arrays , 0);
echo menu($tree);
خروجی که ایجاد میکنه
<ul>
<li><a href='?dir=Document'>Document</a>
<ul>
<li><a href='?dir=image_1'>image_1</a>
<ul>
<li><a href='?dir=image_2'>image_2</a></li>
</ul>
</li>
<li><a href='?dir=image_2'>image_2</a></li>
</ul>
</li>
<li><a href='?dir=Music'>Music</a>
<ul>
<li><a href='?dir=Music_1'>Music_1</a></li>
<li><a href='?dir=Music_2'>Music_2</a></li>
</ul>
</li>
</ul>
به طور مثال الان باید لینک دوم به این صورت باشه
?dir=Document/image_1
...
دوستان اگر توی وردپرس دیده باشید موضوعات به صورت مولتی هست مثلا به این صورت
-cat
--cat2
---cat3
-cat4
--cat5
-cat6
و لینک هاشون به این صورته
cat
cat/cat2
cat/cat2/cat3
cat4
cat4/cat5
cat6
کدی که نوشتم موضوعات مولتی رو ایجاد کردم ولی لینک های مولتی رو نتونستم دوستان اگر کسی بلده لطفا همین کد رو لینک هاشو درست کنه
کدی که نوشتم
$arrays = unserialize('a:7:{i:1;a:3:{s:2:"id";s:1:"1";s:4:"name";s:8:"Document";s:6:"par_id";s:1:"0";}i:2;a:3:{s:2:"id";s:1:"2";s:4:"name";s:7:"image_1";s:6:"par_id";s:1:"1";}i:7;a:3:{s:2:"id";s:1:"7";s:4:"name";s:7:"image_2";s:6:"par_id";s:1:"1";}i:8;a:3:{s:2:"id";s:1:"8";s:4:"name";s:7:"image_2";s:6:"par_id";s:1:"2";}i:4;a:3:{s:2:"id";s:1:"4";s:4:"name";s:5:"Music";s:6:"par_id";s:1:"0";}i:5;a:3:{s:2:"id";s:1:"5";s:4:"name";s:7:"Music_1";s:6:"par_id";s:1:"4";}i:6;a:3:{s:2:"id";s:1:"6";s:4:"name";s:7:"Music_2";s:6:"par_id";s:1:"4";}}');
/*
echo "<pre>";
print_r($arrays);
echo "</pre>";
*/
function buildTreess(array &$elements, $parentId = 0) {
$branch = array();
foreach ($elements as &$element) {
if ($element['par_id'] == $parentId) {
$children = buildTreess($elements, $element['id']);
if ($children) {
$element['children'] = $children;
}
$branch[$element['id']] = $element;
unset($element);
}
}
return $branch;
}
function menu($arr)
{
global $Create_Array;
echo "<ul>";
foreach ($arr as $val) {
if (!empty($val['children'])) {
echo "<li><a href='?dir=".$val['name']."'>" . $val['name']."</a>";
menu($val['children']);
echo "</li>";
} else {
echo "<li><a href='?dir=".$val['name']."'>" . $val['name'] . "</a></li>";
}
}
echo "</ul>";
}
$tree = buildTreess( $arrays , 0);
echo menu($tree);
خروجی که ایجاد میکنه
<ul>
<li><a href='?dir=Document'>Document</a>
<ul>
<li><a href='?dir=image_1'>image_1</a>
<ul>
<li><a href='?dir=image_2'>image_2</a></li>
</ul>
</li>
<li><a href='?dir=image_2'>image_2</a></li>
</ul>
</li>
<li><a href='?dir=Music'>Music</a>
<ul>
<li><a href='?dir=Music_1'>Music_1</a></li>
<li><a href='?dir=Music_2'>Music_2</a></li>
</ul>
</li>
</ul>
به طور مثال الان باید لینک دوم به این صورت باشه
?dir=Document/image_1
...