This is documentation for Plesk Onyx.
Go to documentation for the latest version, Plesk Obsidian.
Создание Активного списка
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“ и игнорироваться.
Пример: Отображение активного списка на странице
src/plib/views/scripts/containers/list.phtml
<h3>Objects list</h3>
<?php echo $this->list ?>
Активный список, определенный таким образом, будет выглядеть так: