Кнопки во многом похожи на вкладки, но есть одно существенное различие между ними с пользовательской точки зрения: для вкладок обычно существует страница, отображаемая по умолчанию, кроме того, обычно на одной странице используется немного вкладок.

Крупные кнопки обычно используются для отображения всех доступных операций, и ни одна из них не является «кнопкой по умолчанию» или «самой используемой кнопкой». Хорошими примерами крупных кнопок в интерфейсе Plesk могут быть кнопки, соответствующие доменам, на странице Сайты и домены или кнопка Инструменты и утилиты в интерфейсе реселлера.

Чтобы добавить кнопки на страницу, вам надо добавить их в контроллер:

public function buttonsAction()
{
    $this->view->tools = [
        [
            'icon' => pm_Context::getBaseUrl() . "images/button1.png",
            'title' => 'Example',
            'description' => 'Example extension with UI samples',
            'controller' => 'custom',
            'action' => 'form',
        ],
        [
            'icon' => pm_Context::getBaseUrl() . "images/button2.png",
            'title' => 'Extensions',
            'description' => 'Extensions installed in the Panel',
            'link' => pm_Context::getModulesListUrl(),
        ],
    ];
}

Затем визуализируйте их в представлении (buttons.phtml), используя помощник pm_View_Helper_RenderTools:

<?php echo $this->renderTools($this->tools); ?>

Теперь вы можете посмотреть кнопки в вашем расширении и проверить результат их работы.

image 79431

Более того, вы можете посмотреть, как будет выглядеть кнопка на сервере Plesk с использованием другой цветовой схемы или стиля (например, когда установлено расширение Skins and Color Schemes) или как она будет выглядеть в интерфейсе, адаптированном к мобильным устройствам.

Больше примеров использования кнопок можно найти в расширении Amazon Route 53 здесь (смотрите метод toolsAction в файле IndexController).