Помогите правильно составить запрос к cms_uc_cats

InstantCMS 1.X
#1 18 марта 2021 в 23:10
Привет всем, люди добрые. Помогите пожалуйста правильно составить запрос к cms_uc_cats, а то я совсем уже запутался с этими NSLeft NSRight.
Есть структура рубрик, которую я хочу внести на сайт
  1.  
  2. Колбаса
  3. - Длинная
  4. -- Вкусная
  5. --- Из свинины
  6. ---- С чесноком
  7. ---- С трюфелями
  8. --- Из говядины
  9. -- Невкусная
  10. --- Из курятины
  11. - Короткая
  12. -- Вкусная
  13. .......
  14. Сосиски
  15. - Немецкие
  16. .........
  17.  
То есть, рубрикация совершенно разная, и многоуровневая, с разным числом подуровней. Допустим, она есть в csv файле, где столбец А это первый уровень, B — второй, и тд. Допустим, я разбираю этот csv построчно в цикле. Как правильно писать запросы mySQL с учетом NSLeft NSRight?
Спасибо большое!
#2 18 марта 2021 в 23:40

Как правильно писать запросы mySQL с учетом NSLeft NSRight?

Tamatoa
Вы собираетесь nested sets вручную вычислять? laugh
Посмотрите это:
Иллюстрация
Видите, что цифры по красной линии идут по порядку. Это правильное дерево. При добавлении каждой категории и подкатегории все эти ns-ы пересчитываются заново.
Лучше добавьте всё как попало, а потом утилитой от Странника исправьте.
/blogs/stranyi-blog/utilita-sadovod-modificirovanyi-remontnik-derevev.html
#3 19 марта 2021 в 06:50

При добавлении каждой категории и подкатегории все эти ns-ы пересчитываются заново.

Ris
Ну как-то же движок пересчитывает их при добавлении рубрики через админку? Может, можно и самописным скриптом так же сделать?
#4 19 марта 2021 в 07:19
Можно конечно. Допустим написать скрипт переноса csv в mysql, а в скрипте использовать метод движка добавления категорий.Как вариант
#5 19 марта 2021 в 09:20

Может, можно и самописным скриптом так же сделать?

Tamatoa
Можно и родной класс движка использовать:
\includes\nestedsets.php
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.