Добавление поля в базе для объекта msProduct

Доброе утро! Подскажите, может кто-то сталкивался, хотел бы добавить свое поле в базу данных для объекта msProduct (компоненты не совсем подходят, тк они выведут свойство в админку), пробовал через БД добавлять, но понятное дело modx данное поле не видит
Андрей
10 апреля 2024, 08:08
modx.pro
125
0

Комментарии: 3

Павел Романов
10 апреля 2024, 11:13
1
0
Добавьте поле в таблицу (например, new_field) и сделайте плагин на событие OnMODXInit
<?php
$modx->loadClass('msProduct');
$modx->map['msProduct']['fields']['new_field'] = '';
$modx->map['msProduct']['fieldMeta']['new_field'] = array(
    'dbtype' => 'varchar',
    'phptype' => 'string',
    'precision' => '190',
    'null' => false,
    'default' => '',
);

Естественно, тип данных может быть разным.
Примеры полей можно посмотреть в файле core/components/minishop2/model/minishop2/mysql/msproduct.map.inc.php
    Андрей
    10 апреля 2024, 17:33
    0
    оказалось проще чутка, просто в нужном файле в карту дописал свое поле из базы и все супер, заработало, спасибо огромное!!! Сам бы не пришел к этому)
      Павел Романов
      10 апреля 2024, 17:36
      0
      Это да, но при следующем обновлении miniShop2 этот файл перепишется и изменения пропадут.
      С плагином так не случится.
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    3