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

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


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


Компонента отображения данных спецблока

Компонента отображения данных спецблока предназначена для отображения данных модуля в режиме спецблока.

Код компоненты отображения данных спецблока

Для реализации компоненты элемента необходимо создать: 

  1. Класс контроллера, наследуемый от AMI_ModSpecblockList (для отображения списка), либо AMI_ModSpecblock (для отображения статичных данных).
  2. Класс отображения, наследуемый от AMI_ModSpecblockListView, либо AMI_ModSpecblockView соответственно.
class AmiClean_AmiSample_SpecblockFrn extends AMI_ModSpecblockList{
}
 
class AmiClean_AmiSample_SpecblockListViewFrn extends AMI_ModSpecblockListView{
}

В данном случае, компонента спецблока будет предназначена для отображения списка элементов. В классе отображения необходимо реализовать метод init() для обозначения полей списка.

public function init(){
        $this
            ->addColumn('id')
            ->addColumn('nickname');
        return $this;
    }

В контроллере модуля необходимо добавить данную компоненту, если модуль работает в режиме спецблока:

class AmiClean_AmiSample_Frn extends Hyper_AmiClean_Frn{
    public function __construct(AMI_Request $oRequest, AMI_Response $oResponse){
        parent::__construct($oRequest, $oResponse);
        if($this->isSpecblock()){
            $this->addComponents(array('specblock'));
        }
    }
}

Шаблон

Сеты спецблока модуля располагаются в собственном шаблоне "_local/_admin/templates/modules/inst_sample_module_specblock.tpl".

%%include_template "templates/modules/_list.tpl"%%
%%include_language "templates/lang/modules/##modId##_specblock.lng"%%

<!--#set var="header_row" value="<tr>##header_row##<th>%%caption_ext_img_small%%</th></tr>"-->
<!--#set var="body_row" value="<tr>##body_row##<td>##img_small##</td></tr>"-->

Шаблон локализаций

Языковые переменные компоненты отображения спецблока добавляются в шаблоне "_local/_admin/templates/lang/modules/inst_sample_module_specblock.lng".

%%caption_id%en%%
#
%%caption_id%ru%%
#

%%caption_nickname%en%%
Nickname
%%caption_nickname%ru%%
Nickname

%%caption_ext_img_small%en%%
Small image
%%caption_ext_img_small%ru%%
Малое изображение

Параметры спецблока

Для того, чтобы спецблок появился в менеджере сайта, необходимо добавить следующие параметры в файл "_local/modules/declaration/properties.php":

if($oDeclarator->isRegistered('inst_sample_module')){
    $oMod = $oDeclarator->getModule('inst_sample_module');
    $oMod->setProperty('spec_blocks', array('spec_small_inst_sample_module'));
}

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

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