Персональные настройки

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,
 ];
 }
}

Простое расширение, иллюстрирующее этот принцип, можно найти здесь.

 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.