Обновить nestet установить дерево с php и nestable.js плагин jquery

ИЗМЕНИТЬ: После отличного ответа @вадим-ашихман. Конец вопроса.

Ресурсы, которые я использую:

Мне удалось без каких-либо проблем добавить категории и подкатегории.

---- Photo database

Я также смог показать меню со всеми категориями с помощью библиотеки jQuery с возможностью вставки.

Пока все хорошо.

Menu

Теперь, когда я пытаюсь сортировать перетаскивание. Захватил весь массив, вот пример:

[{
  "id": 1,
  "children": [{
    "id": 2,
    "children": [{
      "id": 3
    }, {
      "id": 6
    }, {
      "id": 5
    }, {
      "id": 7
    }, {
      "id": 9
    }]
  }, {
    "id": 8,
    "children": [{
      "id": 10,
      "children": [{
        "id": 11
      }, {
        "id": 12
      }, {
        "id": 13
      }, {
        "id": 14
      }, {
        "id": 15
      }]
    }, {
      "id": 16,
      "children": [{
        "id": 17
      }, {
        "id": 18
      }, {
        "id": 19
      }, {
        "id": 20
      }]
    }]
  }, {
    "id": 22,
    "children": [{
      "id": 23
    }, {
      "id": 24
    }, {
      "id": 25
    }, {
      "id": 26
    }]
  }, {
    "id": 27,
    "children": [{
      "id": 28
    }, {
      "id": 29
    }, {
      "id": 30
    }, {
      "id": 31
    }]
  }, {
    "id": 32
  }, {
    "id": 39
  }, {
    "id": 40
  }]
}]

Ответ 1

Когда вы переместите node в новую позицию, получите новую позицию предыдущей node и родительской node:

  • Если предыдущий node не найден, вставка перемещается node в качестве первого дочернего элемента родителя.
  • Если предыдущий node нашел просто использовать метод setNodeAsNextSibling() из библиотеки.

Вам не нужно захватывать и обновлять все дерево.