Интеграция с домашней страницей
Расширения могут сообщать различную информацию, размещая информационные блоки (также называемые виджетами) на Домашней странице администратора или клиента в Plesk.
Для этого включите в свое расширение класс, который расширяет 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 'Add Block Title Here';
}
public function getText()
{
return 'Add your text here...';
}
public function getButtonText()
{
return 'View';
}
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 (Узнать больше)» и соответствующий значок.