Что нужно изменить в modExtra чтоб не было modAction support is deprecated?
        Собираюсь писать новый компонент и как всегда на основе modExtra. Но он давно не обновлялся, а в MODX 2.7 что-то изменили и появляется сообщение
UPD 29.01.2019
Разобрался :) В общем в modExtra менять ничего не нужно.
Посмотрел код modmenu.class.php.
    
    
                                                        modAction support is deprecated since version 2.3.0. Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace organizations to the routing based system.Что в MODX 2.7 поменяли и что нужно поменять в modExtra?
UPD 29.01.2019
Разобрался :) В общем в modExtra менять ничего не нужно.
Посмотрел код modmenu.class.php.
public function rebuildCache($start = '') {
    ...
    $menus = $this->getSubMenus($start);
....
public function getSubMenus($start = '') {
    ...
     /* 2.2 and earlier support */
        $c->leftJoin('modAction','Action');
        $c->select(array(
            'action_controller' => 'Action.controller',
            'action_namespace' => 'Action.namespace',
        ));
    ...
        // allow 2.2 and earlier actions
            $deprecatedNamespace = $menu->get('action_namespace');
            if (!empty($deprecatedNamespace)) {
                $this->xpdo->deprecated('2.3.0', 'Support for modAction has been replaced with routing based on a namespace and action name. Please update the extra with the namespace ' . $deprecatedNamespace . ' to the routing based system.', 'modAction support');
                $namespace = $deprecatedNamespace;
            }
            if ($namespace != 'core') {
                $this->xpdo->lexicon->load($namespace.':default');
            }Ошибка modAction support is deprecated выбрасывается при построении кеша всех меню. То есть, если на сайте есть старые компоненты с меню, то на них и ругается при сохранении любого меню. В том числе и при установке новых компонентов. У меня на тестовом сайте 4 старых компонента и вот на них и ругалась.    
            
                Поблагодарить автора            
            
                 Отправить деньги            
        
        
            Комментарии: 7
                Я это читал перед тем как тему создать :(, но увы нефига не понял :(. Какие-то ссылки на коммиты Tickets, в которые я смотрю и не вижу никаких modAction. Смотрю код build modExtra и тоже не нахожу никаких modAction. 
Я в том как генерируется и устанавливается транспортный пакет внутри кода MODX практически ничего не знаю. Просто тупо брал modExtra переименовывал и писал что нужно в нем :). А теперь прямо засада.
                    Я в том как генерируется и устанавливается транспортный пакет внутри кода MODX практически ничего не знаю. Просто тупо брал modExtra переименовывал и писал что нужно в нем :). А теперь прямо засада.
                квест найди отличия этого 
                    <?php
/** @var modX $modx */
/** @var array $sources */
$menus = array();
$tmp = array(
    'emailqueue' => array(
        'description' => 'emailqueue_menu_desc',
        'action' => 'home',
        //'icon' => '<i class="icon icon-large icon-modx"></i>',
    ),
);
foreach ($tmp as $k => $v) {
    /** @var modMenu $menu */
    $menu = $modx->newObject('modMenu');
    $menu->fromArray(array_merge(array(
        'text' => $k,
        'parent' => 'components',
        'namespace' => PKG_NAME_LOWER,
        'icon' => '',
        'menuindex' => 0,
        'params' => '',
        'handler' => '',
    ), $v), '', true, true);
    $menus[] = $menu;
}
unset($menu, $i);
return $menus;от этого            
                Кто-нибудь может помочь?            
                    
                Для проверки установил Tickets. На modAction ругается 3 раза. А должно 1 раз на это
                    if ($action = $modx->getObject('modAction', array('namespace' => 'tickets'))) {
                $action->remove();
                /** @var modMenu $menu */
                if ($menu = $modx->getObject('modMenu', array('text' => 'tickets'))) {
                    $menu->remove();
                }Похоже наши гуру и сами не знают, что там такого нужно поменять, чтоб не ругалось :)            
                Разобрался :) В общем в modExtra менять ничего не нужно.            
                    Похоже наши гуру и сами не знают, что там такого нужно поменять, чтоб не ругалось :)Я это тут просто оставлю
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.