У меня есть многоуровневые категории, например:
- = cat_1 (/cat_1/item_..)
- = = cat_2 (/cat_1/cat_2/item_..)
- = = = cat_3 (/ cat_1 / cat_2 / cat_3 / item_ ..)
- = = cat_4 (/ cat_1 / cat_4 / item _...)
- = cat_5 (/ cat_5 / item_ ..)
- = = cat_6 (/cat_5/cat_6/item_..)
- = = cat_7 (/cat_5/cat_7/item_..)
теперь на jq drag n drop. Я переупорядочиваю категории, например, cat_4, чтобы быть потомком cat_3, после этого в php запускается функция для воссоздания ссылок категорий и элементов внутри нее.
- = cat_1 (/cat_1/item_1,2,3..)
- = = cat_2 (/cat_1/cat_2/item_..)
- = = = cat_3 (/ cat_1 / cat_2 / cat_3 / item_ ..)
- = = = = = cat_4 (/ cat_1 / cat_2 / cat_3 / cat_4 / item _...)
- = cat_5 (/ cat_5 / item_ ..)
- = = cat_6 (/cat_5/cat_6/item_..)
- = = cat_7 (/cat_5/cat_7/item_..)
Теперь у меня возникла проблема, как сравнить старый и новый порядок, чтобы функция, воссоздающая ссылку, могла запускаться, когда это действительно необходимо?
Пока я понимаю, что это не нужно, если я изменяю порядок в пределах одного и того же подуровня, например, для кошек 1 и 5 (в пределах уровня 0) или 6 и 7, но если я перемещаю cat_6, чтобы стать дочерним для cat_1, это необходимо.
Сравнение каждой кошки только с ее родителем не будет работать, потому что, если я перетаскиваю всю ветку, например, если кошка 1 становится дочерней по отношению к кошке 6 ..
У кого-нибудь есть идея, есть ли способ сделать это? Проще всего было бы запускать функцию воссоздания ссылок каждый раз при повторном заказе.