Вопросы по modExtra

Всем привет. Кто-нибудь может подсказать 2 момента при разработке своего компонента на заготовке modExtra?

1. Как создать свои события при сборке пакета?
2. Как добавить дополнительный тип ресурса через ExtJS?
SEQUEL.ONE
10 февраля 2020, 11:25
modx.pro
282
0

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

Михаил
11 февраля 2020, 05:52
0
События
а вот второй вопрос не понятен
    SEQUEL.ONE
    11 февраля 2020, 20:56
    0
    Тип ресурса у документа как в miniShop2 Категория товара и товар.
    Андрей Степаненко
    11 февраля 2020, 06:18
    0
    в компоненте siteDev есть:
    Extras/modExtra/_build/elements/_events.php
    через который можно создать свое событие.

    И обрати внимание на файл build.php в нем есть метод:
    /**
         * Add events
         */
        protected function events()
        {
            /** @noinspection PhpIncludeInspection */
            $events = include($this->config['elements'] . 'events.php');
            if (!is_array($events)) {
                $this->modx->log(modX::LOG_LEVEL_ERROR, 'Could not package in System events');
    
                return;
            }
            $attributes = [
                xPDOTransport::UNIQUE_KEY => 'name',
                xPDOTransport::PRESERVE_KEYS => true,
                xPDOTransport::UPDATE_OBJECT => !empty($this->config['update']['events']),
                xPDOTransport::RELATED_OBJECTS => false,
            ];
    
            foreach ($events as $name => $data) {
    
                /** @var modEvent $event */
                $event = $this->modx->newObject('modEvent');
                $event->fromArray([
                    'name' => $data,
                    'service' => 6,
                    'groupname' => $this->config['name_lower'],
    
                ], '', true);
                $vehicle = $this->builder->createVehicle($event, $attributes);
                $this->builder->putVehicle($vehicle);
            }
            $this->modx->log(modX::LOG_LEVEL_INFO, 'Packaged in ' . count($events) . ' System events');
        }
    Который как раз подхватывает: Extras/modExtra/_build/elements/events.php
      SEQUEL.ONE
      11 февраля 2020, 20:58
      0
      Спасибо, разобрался. Добавил таким образом дефольтные данные в свои таблицы)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4