Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Список - групповые действия

В список можно добавлять действия, совершаемые над группой элементов.

Для добавления групповой операции необходимо: 

В контроллере списка (наследнике Hyper_AmiClean_ListAdm) вызываются методы добавления групповых действий; 

class AmiClean_AmiSample_ListAdm extends Hyper_AmiClean_ListAdm{
 
    public function init(){
 
        $this->addGroupActions(
            array(
                array(self::REQUIRE_FULL_ENV . 'public',   'public_section'),
                array(self::REQUIRE_FULL_ENV . 'unpublic', 'public_section'),
                array(self::REQUIRE_FULL_ENV . 'rename',   'rename_section'),
                array(self::REQUIRE_FULL_ENV . 'delete',   'delete_section'),
            )
        );
 
        $this->listGrpActionsResId = $this->getModId() . '/list_group_actions/controller/adm';
 
        parent::init();
 
        return $this;
    }
}


Описать обработчики действий в контроллере действий списка (наследнике Hyper_AmiClean_ListGroupActionsAdm); 

class AmiClean_AmiSample_ListGroupActionsAdm extends Hyper_AmiClean_ListGroupActionsAdm{
 
    public function dispatchGrpDelete($name, array $aEvent, $handlerModId, $srcModId){
        return parent::dispatchGrpDelete($name, $aEvent, $handlerModId, $srcModId);
    }
 
    public function dispatchGrpRename($name, array $aEvent, $handlerModId, $srcModId){
        $oListActionsAdm = AMI::getResource($handlerModId . '/list_actions/controller/adm');
        $aRequestIds = $this->getRequestIds();
        foreach($aRequestIds as $id){
            $aEvent['oRequest']->set('mod_action_id', $id);
            $oListActionsAdm->setActionData($name, $aEvent, $handlerModId, $srcModId);
            $oListActionsAdm->dispatchRename($name, $aEvent, $handlerModId, $srcModId);
        }
        $aEvent['oResponse']->resetStatusMessages();
        $aEvent['oResponse']->addStatusMessage('status_grp_rename', array('num_items' => sizeof($aRequestIds)));
        $this->refreshView();
        return $aEvent;
    }
}

Заполнить данные для локализации в файле «_local/_admin/templates/60/inst_sample_module.lng»; 

%%list_action_grp_rename%en%%
Rename
%%list_action_grp_rename%ru%%
Переименовать

Для отображения графического файла иконки группового действия $action для списка модуля $modId, нужно в папку «_local/_admin/images/{$modId}/» добавить png-файл размером 24x24px с названием «icon-grp_{$action}.png».

Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.