Можно ли хранить дерево категорий в отдельной таблице?
Здравствуйте уважаемое сообщество!
Заранее скажу все прекрасно работает и цель вопроса найти более правильный путь.
Все по порядку. Я очень люблю MODx за его одновременную простоту мощь и гибкость, и считаю что нет задачи которую нельзя было бы решить с его помощью.
1.5 года назад делал магазин на связке modx 2.3.3 + shopkeeper3.
Задачей было подружить 1С и modx, все это успешно решилось хранением товаров в отдельной таблице MIGXdb
и хранением категорий в дереве ресурсов в ресурсе «каталог» с определенным id.
Когда узнал что более 300 категорий, было решено пожалеть менеджеров и написать скрипт построения дерева на основе импорта из csv файла 1С вместо того что бы вручную создавать ресурсы категорий. По завершению наладки было строго на строго оговорено что скрипт использовать только в экстренных случаях (когда меняются около 10 категорий удаляются добавляются меняются связующие коды в 1С), а при небольших изменениях любые действия с категориями производить «ручками» в дереве ресурсов. Сказано сделано. Периодически заходил для профилактики и бекапов в админку по просьбе заказчика и недавно обратил внимание что id категорий как то «растолстели»:
Оказывается все это время менеджеры по несколько раз в неделю используют скрипт и пересоздают все категории из за чего растет id в таблице.
Я конечно не такой уж перфекционист, но мне кажется как то не по «фэншую» такое дело. Ведь если понадобится дополнительный ресурс (не текстовая страница) а для расширения функционала… добавление доставки или что то другое… да на возможность расширения это не повлияет но все же.
Вопрос: Может есть какой то способ хранить дерево категорий в отдельной таблице для таких случаев? Пробовал в отдельный контекст но все равно из одной таблицы modx_site_content.
Заранее скажу все прекрасно работает и цель вопроса найти более правильный путь.
Все по порядку. Я очень люблю MODx за его одновременную простоту мощь и гибкость, и считаю что нет задачи которую нельзя было бы решить с его помощью.
1.5 года назад делал магазин на связке modx 2.3.3 + shopkeeper3.
Задачей было подружить 1С и modx, все это успешно решилось хранением товаров в отдельной таблице MIGXdb
и хранением категорий в дереве ресурсов в ресурсе «каталог» с определенным id.
Когда узнал что более 300 категорий, было решено пожалеть менеджеров и написать скрипт построения дерева на основе импорта из csv файла 1С вместо того что бы вручную создавать ресурсы категорий. По завершению наладки было строго на строго оговорено что скрипт использовать только в экстренных случаях (когда меняются около 10 категорий удаляются добавляются меняются связующие коды в 1С), а при небольших изменениях любые действия с категориями производить «ручками» в дереве ресурсов. Сказано сделано. Периодически заходил для профилактики и бекапов в админку по просьбе заказчика и недавно обратил внимание что id категорий как то «растолстели»:
Оказывается все это время менеджеры по несколько раз в неделю используют скрипт и пересоздают все категории из за чего растет id в таблице.
Я конечно не такой уж перфекционист, но мне кажется как то не по «фэншую» такое дело. Ведь если понадобится дополнительный ресурс (не текстовая страница) а для расширения функционала… добавление доставки или что то другое… да на возможность расширения это не повлияет но все же.
Вопрос: Может есть какой то способ хранить дерево категорий в отдельной таблице для таких случаев? Пробовал в отдельный контекст но все равно из одной таблицы modx_site_content.
Комментарии: 2
Если брать именно те категории, которые в дереве, то никак. Но никто не мешает создать свой список категорий в своей таблице и выводить их в виде таблицы. Хотя можно и компонент дерева прикрутить, но нужно пробраться через дебри extjs. Но это в любом случае не решается какими-то стандартныим решениями.
Второй вопрос, что скрипт как-то коряво работает. Получается он удаляет старые категории и полностью пересоздает новые при каждом запуске скрипта, а это уже дичь. Если категория существует, зачем ее удалять? Можно обновить значения и только.
Второй вопрос, что скрипт как-то коряво работает. Получается он удаляет старые категории и полностью пересоздает новые при каждом запуске скрипта, а это уже дичь. Если категория существует, зачем ее удалять? Можно обновить значения и только.
Получается он удаляет старые категории и полностью пересоздает новые при каждом запуске скрипта, а это уже дичь.Да… просто скрипт писался на скорую руку, что бы работало т.к. не входил в утвержденное ТЗ. А любое мое предложение «а давайте автоматизируем загрузку товаров / переделаем то то» или другое сразу сталкивается с ответом: — «Ну как бы и так все работает, спасибо!»
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.