Создание Активного списка
Plesk SDK API позволяет отображать на страницах компонент Активный список. Для этого создайте обработчик режима Активный список, который предоставляет следующие методы:
- setData() – задает данные списка.
-
setLayout() – задает расположение элементов.
- Укажите в представлении строки:
-
pm_View_Helper_ActiveList::LAYOUT_AUTO(по умолчанию) илиpm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN.
-
- Укажите в представлении объекта:
-
type– тип расположения. -
stretched– установить одинаковую высоту элементов списка. Доступно дляLAYOUT_RESPONSIVECOLUMN. Необязательно, значение по умолчанию = «true». -
columns– конфигурация, в которой через пробелы указано, сколько колонок содержится в списке для определенного размера окна просмотра в следующем формате (sm|md|lg|xl|xxl|xxxl)-(1-6), например: „lg-2“, „md-1 xl-2“. Доступно дляLAYOUT_RESPONSIVECOLUMN. Необязательно, значение по умолчанию = „xl-2 xxl-3“.
-
- Укажите в представлении строки:
-
setLocale() – задает список локализованных сообщений. Доступные ключи локализации:
-
noObject– сообщение, показываемое, когда в списке нет данных.
-
Пример: Сбор данных
src/plib/controllers/ContainersController.php
<?php
class IndexController extends pm_Controller_Action
{
...
public function listAction()
{
$data = [
[
'id' => 'container-1',
'icon' => pm_Context::getBaseUrl() . 'images/container1.png',
'title' => pm_Locale::lmsg('service1Title'),
'labels' => [[
'value' => pm_Locale::lmsg('status1Title'),
'type' => 'success',
]],
'type' => 'danger',
'summary' => [
[
'name' => pm_Locale::lmsg('param1Title'),
'value' => 'Value 1',
],
[
'name' => pm_Locale::lmsg('param2Title'),
'value' => 'Value 2',
],
],
'toolbar' => [
[
'title' => pm_Locale::lmsg('action1Title'),
'iconClass' => 'icon-start',
'link' => pm_Context::getActionUrl('index', 'action1') . '/id/container-1',
],
],
'actions' => [
[
'title' => pm_Locale::lmsg('action2Title'),
'icon' => pm_Context::getBaseUrl() . 'images/action2.png',
'link' => pm_Context::getActionUrl('index', 'action2') . '/id/container-1',
],
[
'title' => pm_Locale::lmsg('action3Title'),
'icon' => pm_Context::getBaseUrl() . 'images/action3.png',
'link' => pm_Context::getActionUrl('index', 'action3') . '/id/container-1',
],
],
],
[
'id' => 'container-2',
'icon' => pm_Context::getBaseUrl() . 'images/container2.png',
'title' => pm_Locale::lmsg('service1Title'),
'labels' => [[
'value' => pm_Locale::lmsg('status2Title'),
'type' => 'inactive',
]],
'summary' => '<h2>Item summary</h2><p>Custom HTML for summary element</p>',
'toolbar' => [
[
'title' => pm_Locale::lmsg('action4Title'),
'iconClass' => 'icon-start',
'link' => pm_Context::getActionUrl('index', 'action4') . '/id/container-2',
],
],
],
...
];
$locale = [
'noObjects' => pm_Locale::lmsg('noObjects'),
];
$this->view->list = $this->view->activeList()
->setLayout(pm_View_Helper_ActiveList::LAYOUT_RESPONSIVECOLUMN)
->setData($data)
->setLocale($locale);
}
...
}
Вы можете указать цвет заголовка элемента с помощью атрибута „type“, который может принимать следующие значения:
-
danger– красный цвет фона заголовка. -
warning– оранжевый цвет. -
success– зеленый цвет. -
inactive– серый цвет.
Прочие значения будут восприниматься как значение „default“ и игнорироваться.
