Как расширить класс modx?
Добрый вечер. Прошу подсказать, как расширить классы на работу со своими таблицами?
Самый простой пример. Пользователи. Я хочу расширить возможности хранения данных, и допустим добавить одно новое поле для хранения в базе. В бд создаю таблицу modx_ext_users, который содержит в себе всего 3 поля: id, user_id, data
Как расширить обьект modUser, чтобы можно было Использовать такие конструкции:
Случайно наткнулся на UICMPGenerator, думал спасение, т.к там нашелся функционал расширения таблиц. Вроде бы он генерирует XML схему, да и все те же файлы, что и CMPGenerator но как с этим всем работать — не могу разобраться…
Подскажите пожалуйста, в каком направлении дальше идти. В голове каша от всей информации в сети.
Самый простой пример. Пользователи. Я хочу расширить возможности хранения данных, и допустим добавить одно новое поле для хранения в базе. В бд создаю таблицу modx_ext_users, который содержит в себе всего 3 поля: id, user_id, data
Как расширить обьект modUser, чтобы можно было Использовать такие конструкции:
$user = $modx->getObject('modUser',1);
$data = $user->get('pagetitle');Или$user = $modx->newObject('modUser');
$user->set('data','Hello world!');
$user->save();Благодаря заметке Ильи я наконец научился из сниппетов работать со своими собственными таблицами через xPDO, теперь хочется научиться расширять уже существующие классы…Случайно наткнулся на UICMPGenerator, думал спасение, т.к там нашелся функционал расширения таблиц. Вроде бы он генерирует XML схему, да и все те же файлы, что и CMPGenerator но как с этим всем работать — не могу разобраться…
Подскажите пожалуйста, в каком направлении дальше идти. В голове каша от всей информации в сети.
Комментарии: 6
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но это в бэке. На фронте админки нужно уже с Extjs копаться. Тут уже решения зависят от конкретного случая. Одно из них Илья выше привёл.
Управление из manager данными не нужно, актуально управление только из сниппетов.
Почему отдельная таблица? В MODx и так несколько десятков полей, и у меня еще столько же будет. Табличка будет огромная…
Утопический пример. Мы когда создаем\редактируем ресурс, можем на лету добавлять данные из TV полей:
В этом случае обновятся данные из таблицы modx_site_content и добавится связная запись TV в базу в другую табличку.