Персональные настройки
Plesk SDK API позволяет изменять поведение расширений путем редактирования конфигурационного файла panel.ini.
Вы можете добавлять в panel.ini
значения, которые будут читаться расширениями. Предполагается, что эти значения будут использоваться только для чтения, и пользователи будут редко их менять. Например, вы можете задать значение «connectionTimeout» в panel.ini
вместо того, чтобы указывать его прямо в коде. Чтобы указать одно или несколько значений для чтения определенным расширением, добавьте в файл секцию, начинающуюся с [ext-<extension-id>]
, где <extension-id>
– идентификатор расширения. Рассмотрим следующий пример:
[ext-custom-config]
timeout = 1200
homepage = "https://another-url.com"
Здесь указаны значения для timeout
и homepage
, и они будут считаны только расширением с идентификатором «custom-config».
Чтение значений из конфигурационного файла осуществляется посредством класса pm_Config.
Хранение значений по умолчанию необязательно, оно осуществляется через класс хука, реализованный в расширении. Этот класс должен находиться в plib/hooks/ConfigDefaults.php
и расширять pm_Hook_ConfigDefaults.
Вложенные настройки конфигурации не поддерживаются.
Примеры
Чтений значений из файла конфигурации
$timeout = pm_Config::get('timeout');
$homepage = pm_Config::get('homepage');
Восстановление настроек по умолчанию
В файле plib/hooks/ConfigDefaults.php
:
<?php
// Copyright 1999-2016. Parallels IP Holdings GmbH.
class Modules_CustomConfig_ConfigDefaults extends pm_Hook_ConfigDefaults
{
public function getDefaults()
{
return [
'homepage' => 'https://www.plesk.com/',
'timeout' => 60,
];
}
}
Пример расширения, демонстрирующего этот принцип, можно найти здесь.