меню 1.9 , сообщает - UPDATE cms_menu SET NSLeft = NSLeft + 2

#1 11 декабря 2011 в 21:46
пытался поднять меню в админке,(1.9), сообщает:

Nested sets error: UPDATE cms_menu SET NSLeft = NSLeft + 2, NSRight = NSRight + 2 WHERE NSLeft >= AND NSRight <=

есть ли просто решение ?
instantcms.ru/forum/thread6983.html
#2 12 декабря 2011 в 00:10
у меня такая же проблема.оставил все как есть.
#3 12 декабря 2011 в 08:05
Ну судя по всему сбились деревья. Проверку деревьем запускали?
#4 12 декабря 2011 в 11:18
NickSolver, прав, это "деревья"
и ще такой вопрос.
ид(графа Lt) меню идет с "прыжками" 1,8,26,33 и т.д., как их поменять и сделать по порядку 1,2,3,4 и т.д.?
#5 12 декабря 2011 в 11:18
да проверка деревьев все поставила на свои места.
#6 30 января 2012 в 18:25
на чистой установке 1.9
такая же ошибка
проверка деревьев не помогает
#7 1 февраля 2012 в 13:44
поправка, я набил в открыть ссылку цифры от балды
отсюда и не работает проверка деревьев… попробовал сделать ссылки на компоненты и помогло (правда еще раз тоже сломалось но после еще одной проверке вроде работает)
#8 7 июня 2012 в 18:15
кто решил проблему и как?
#9 7 июня 2012 в 20:17
Мне помогло только удаление и добавление всех пунктов заново.
#10 7 июня 2012 в 21:06
Можно попробовать исправить в базе. Заходим в cms_menu и сортируем по порядку поле ordering. Первую строку не не трогаем. Далее смотрим со 2 строки и проверяем условие — если в поле ordering стоит например 2, то в поле NSLeft должно быть значение 4, а в поле NSRight значение 5 и соотв. далее, т.е. в каждой строке поле NSLeft всегда в 2 раза больше чем в ordering, а в NSRight на единицу больше чем в NSLeft. Если в строках ordering встречаются числа не по порядку — меняем на последовательное (чтобы в итоге поле ordering состояло из последовательного ряда чисел) и корректируем соотв. поля NSLeft и NSRight.
#11 8 июня 2012 в 18:31
Пока что решаемо только через базу.Или изначально удалять по порядку с низу.
#12 20 октября 2013 в 17:05


кто решил проблему и как ?

lezginka.ru

Т.к. вложенных пунктов меню оказалось много, то:
1. Восстановление дерева меню. При этом удаляюются все признаки иерархии.
2. В этом же не-иерархическом состоянии стрелками "Порядок" выстроил все пункты по порядку, учитывая вложенные:
— пункт 1
— пп 1 п 1
— пп 2 п 1
— пп 3 п 1
— пункт 2
— пп 1 п 2
— пп 2 п 2
...
3. Зашел в MyAdmin, проверил NSLeft-NSRight, заодно для перфекционизма и ускорения следующих дублей сделал id в таблице равным только что присвоенным ordering (порядок). Можно потом упорядочить таблицу, но не принципиально, она крохотная.
4. Перешел в админку, и сверху вниз по 1 пункту стал переносить в нужное подчинение.

Вроде прокатило.

Проблемы с деревом возникают по разным причинам, в том числе при выносе подпунктов с номером 1 из подчинения. Также при переносе из корня в подчинение иногда более одного пункта получают ordering=1, тогда все снова зависает.
Чтобы опять не терять иерархию, можно сделать, как описано Alex выше в сообщении #10 — сверить и попробовать исправить соответствие ordering и NSxxx.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

ON DUPLICATE KEY UPDATE

Флейм / Флуд / Оффтопик Создана 3 года назад 3 сообщения

Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.