Нравится как реализована работа с категориями в новых версиях DLE.
Там их можно перетаскивать:

Может есть готовые решения аналогичные? Или кто поможет в реализации? С меня пиво

Скрытый текст |
http://www.linkexchanger.su/2009/111.html |
Цитата (Arh @ 19.04.2014 - 11:46) | ||
Перетаскиваются с помощью jquery примерно так
|
[{"id":13,"children":[{"id":14}]},{"id":15,"children&qu ot;:[{"id":16,"children":[{"id":17}]},{"id":18}]}]
$list = $_POST['output_data'];
$result = json_decode($list,true);
Array
(
[0] => Array
(
[id] => 13
[children] => Array
(
[0] => Array
(
[id] => 14
)
)
)
[1] => Array
(
[id] => 15
[children] => Array
(
[0] => Array
(
[id] => 16
[children] => Array
(
[0] => Array
(
[id] => 17
)
)
)
[1] => Array
(
[id] => 18
)
)
)
)
Array
(
[0] => Array
(
[id] => 4
[name] => 9+
[parent] => null
)
[1] => Array
(
[id] => 6
[name] => 9+
[parent] => 0
)
Array
(
[0] => Array
(
[id] => 13
[children] => Array
(
[0] => Array
(
[id] => 14
)
)
)
[1] => Array
(
[id] => 15
[children] => Array
(
[0] => Array
(
[id] => 16
[children] => Array
(
[0] => Array
(
[id] => 17
)
)
)
[1] => Array
(
[id] => 18
)
)
)
Array
(
[0] => Array
(
[id] => 13
[parent] => 0
[sort] => 1
)
[1] => Array
(
[id] => 14
[parent] => 13
[sort] => 1
)
[2] => Array
(
[id] => 15
[parent] => 0
[sort] => 2
)
[3] => Array
(
[id] => 16
[parent] => 15
[sort] => 1
)
[4] => Array
(
[id] => 17
[parent] => 16
[sort] => 1
)
[5] => Array
(
[id] => 18
[parent] => 15
[sort] => 2
)
save_menu($result);
function save_menu ($menu_array, $parent = 0) {
foreach ($menu_array as $ellement) {
//тут [parent_id] выводится вроде бы верно
if ($parent)
echo '<br /> [parent_id]:' . $parent;
if (is_array($ellement)) {
save_menu($ellement, $menu_array['id']);
}
else {
echo '<br /> [id]:' . $ellement;
// а здесь он почему то не хочет быть..
echo '<br /> [parent_id]:' . $parent;
echo '<br>--------------------------';
}
}
}