Расширения могут сообщать различную информацию, размещая информационные блоки (также называемые виджетами) на Домашней странице администратора или клиента в Plesk.

image-79553.png

Для этого включите в свое расширение класс, который расширяет pm_Promo_AdminHome или pm_Promo_CustomerHome и переопределяет все необходимые методы. Все классы, которые расширяют pm_Promo_AdminHome и pm_Promo_CustomerHome, загружаются при переходе пользователя на Домашнюю страницу.

Примечание: Удостоверьтесь в том, что для реализуемых классов выполняется Соглашение по именованию классов. Иначе эти классы могут не загрузиться так, как надо.

Например, в расширении с ID "my-module" новый класс, реализующий информационный блок на Домашней странице администратора, должен быть назван Modules_MyModule_Promo_AdminHome. Его код должен быть помещен в файл plib/library/Promo/AdminHome.php.

Информационный блок “Plesk News”, показанный на снимке экрана выше, отображается с помощью простого расширения “Panel News”. Его код доступен здесь: https://github.com/plesk/ext-panel-news.

Пример: определение информационного блока

Этот пример показывает, как реализовать информационный блок. В нем используются следующие методы:

Используйте следующий код:

 <?php

class Modules_MyModule_Promo_AdminHome extends pm_Promo_AdminHome
{
 public function getTitle()
 {
 return 'Добавьте здесь заголовок блока';
 }

 public function getText()
 {
 return 'Добавьте здесь ваш текст...';
 }

 public function getButtonText()
 {
 return 'Просмотр';
 }

 public function getButtonUrl()
 {
 return 'http://example.com';
 }

 public function getIconUrl()
 {
 pm_Context::init('my-module');
 return pm_Context::getBaseUrl() . '/images/icon.png';
 }
}

Примечание: Когда вам необходимо использовать функции, предоставляемые API расширений, вам надо определить контекст в теле метода путем вызова pm_Context::init('module ID').

Методы getButtonText() и getIconUrl() необязательны. Если вы не используете эти методы, Plesk будет по умолчанию использовать название кнопки «Learn more (Узнать больше)» и соответствующий значок.