shop_category left_key и right_key. Подскажите самый легкий способ выставить их. Есть решение

Доброе время суток! Временем не очень располагаю. Подскажите, пожалуйста, есть ли готовые функции или решения выставить эти значения? Заранее спасибо!

4 ответа

  • 4
    Леонид Вакуленко Webasyst 2 июля 2015 14:13 # Решение

    Если в плагине после того, как сделали что-то с категоряими, то вот такой метод:

    $model = new shopCategoryModel();
    $model->repair();

    Если задача разово починить табличку, то можно воспользоваться такой ссылкой:

    /webasyst/shop/?module=repair&action=categories

  • 1
    @webasyst24 14 апреля 2018 20:28 #

    СПАСИБО!!!

  • 2
    mikle GM 19 сентября 2018 09:57 #

    а есть подобное для "починки" left_key и right_key таблицы  shop_product_reviews? по аналогии /webasyst/shop/?module=repair&action=reviews  не помогает....

  • -3
    DAVIDhaker 19 мая 2021 14:28 #

    Ещё один булыжник в огород Webasyst. Неведомо, какую цель преследовали содатели движка, но они решили судя по всему излишне оптимизировать рендеринг каталогов сэкономив одну наносекунду при рендеринге (правда потратив при этом уйму нервов пользователей). Они изобрели костыль waNestedSetModel (класс, и да - он в двух местах движка одинаковый). В двух словах: на основе двух доп-колонок (кэширующих) в таблице они строят систему иерархии объектов. Проблема в том, что если ты обновил как-то извне данные и не сделал $model->repair(), то вся иерархия поедет. Мало того, не исключены случаи, когда через родное REST-API может обновление пройти некорректно и иерархия посыпется. Яркий пример - категории товаров.

    • +1
      Eugen Nichikov Eugen Nichikov 19 мая 2021 15:05 #

      а мой друг сервер уронил...
      он, что, такой крутой хакер? нет, он мудак, он его на пол уронил

    • +2
      Syrnik.com Syrnik.com 20 мая 2021 11:45 #

      Вообще nested sets очень даже рекомендуемый паттерн для хранения в реляционной бд древовидной структуры неопределённой вложенности, данные в которой обновляются редко, а выбираются часто. 

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите