@Fergos

Как расширить системную таблицу site_content (добавить пару столбцов)?

Задача — добавить некоторое кол-во столбцов а таблицу site_content для того чтобы можно было впоследствии при выводе через getResources фильтровать и сортировать.
Знаю, что помимо добавлении в базу нужно еще внести изменения в схему XML, но попытки найти вразумительную информацию не увенчались успехом.
Пожалуйста, подскажите где можно про это подробно почитать, какой файл XML нужно править чтобы внести изменения именно в site_content. Новые таблицы не интересуют (пока:)).
Кстати, речь идет о MODx Revo 2.3.5
Спасибо.
  • Вопрос задан
  • 1181 просмотр
Решения вопроса 1
Realetive
@Realetive
MODX Ambassador России, самозванный БЭМ-евангелист
Вам подойдет подход расширения объекта modResource, когда вы создаете отдельную таблицу, в которой храните новые столбцы, что позволит избежать затирания этих столбцов при обновлении MODX, как подметил 2ball. Материалов по этой теме достаточно:

Официальное руководство
Сопроводительная статья от Боба Рея + статья «Зачем расширять modResource»
Расширение системных (и не только) таблиц в MODX R... от Fi1osof
Наследуемость полей у расширяемых xPDO-классов

Если содержимое полей не требует индексации в БД, вы не планируете настраивать поиск по этим данным, то можно записывать их в JSON-формате поля properties таблицы site_content. Отличная статья по этой теме от bezumkin: Очень хитрые TV параметры
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
2ball
@2ball
Хардкор кодер
Подход странный. При первом же обновлении попрощаетесь со всей своей структурой. Я бы предложил...

1) Использовать более быстрый и гибкий pdoResources
2) Использовать TV фильтрацию
3) Аналог: использовать TV и юзать LEFT JOIN фильтруя прямо в запросе
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы