waPlugin

Базовый класс плагина приложения

Содержание...

Класс waPlugin используется для создания плагинов к приложениям Webasyst. Основной класс плагина должен быть унаследован от базового класса waPlugin или его наследника, например, от класса shopPlugin в приложении Shop-Script.

Методы

  • addCss

    Добавляет URL CSS-файла в список файлов, возвращаемых методом {$wa->css()}.

  • addJs

    Добавляет URL JavaScript-файла в список файлов, возвращаемых методом {$wa->js()}.

  • getId

    Возвращает ID плагина.

  • getName

    Возвращает локализованное название плагина.

  • getPluginStaticUrl

    Возвращает URL корневой директории плагина.

  • getSettings()

    Возвращает информацию о настройках плагина.

  • getVersion

    Возвращает номер версии плагина.

protected function addCss ($url, $is_plugin = true)

Добавляет URL CSS-файла в список файлов, возвращаемых методом {$wa->css()}.

Параметры

  • $url

    URL CSS-файла.

    Если значение параметра $is_plugin эквивалентно true, то в параметре $url нужно передать относительный URL CSS-файла с учетом URL корневой директории плагина.

    Если в URL отсутствуют GET-параметры, то к URL добавляется пустой GET-параметр с именем, состоящим из номера версии плагина. Если включен режим отладки, то к URL файла в этом случае дополнительно добавляется точка и текущая метка времени. Это полезно для автоматического обновления CSS-файлов в кеше браузера во время разработки плагина.

  • $is_plugin

    Флаг, обозначающий, передан ли в параметре $url относительный URL CSS-файла с учетом URL корневой директории плагина. В противном случае URL считается абсолютным или указанным без учета корневой директории плагина.

Пример

//относительно корневой директории плагина
$this->addCss('css/backend.css');
//абсолютный
$this->addCss(wa()->getConfig()->getRootUrl(true).'wa-content/css/wa/design.css', false);

protected function addJs ($url, $is_plugin = true)

Добавляет URL JavaScript-файла в список файлов, возвращаемых методом {$wa->js()}.

Параметры

  • $url

    URL JavaScript-файла.

    Если значение параметра $is_plugin эквивалентно true, то в параметре $url нужно передать относительный URL JavaScript-файла с учетом URL корневой директории плагина.

    Если в URL отсутствуют GET-параметры с символом ?, то к URL добавляется пустой GET-параметр с именем, состоящим из номера версии плагина. Если включен режим отладки, то к URL файла в этом случае дополнительно добавляется точка и текущая метка времени. Это полезно для автоматического обновления JavaScript-файлов в кеше браузера во время разработки плагина.

  • $is_plugin

    Флаг, обозначающий, передан ли в параметре $url относительный URL JavaScript-файла с учетом URL корневой директории плагина. В противном случае URL считается абсолютным или указанным без учета корневой директории плагина.

Пример

//относительно корневой директории плагина
$this->addJs('js/backend.js');
//абсолютный
$this->addJs(wa()->getConfig()->getRootUrl(true).'wa-content/js/jquery-wa/editor.js', false);

public function getId()

Возвращает ID плагина.

Пример

$plugin_id = wa('someapp')->getPlugin('myplugin')->getId();

public function getName()

Возвращает локализованное название плагина.

Пример

$plugin_name = wa('someapp')->getPlugin('myplugin')->getName();

public function getPluginStaticUrl ($absolute = false)

Возвращает URL корневой директории плагина.

Параметры

  • $absolute

    Флаг, требующий вернуть абсолютный URL. По умолчанию метод возвращает относительный URL.

Пример

//относительный
$plugin_url = wa('someapp')->getPlugin('myplugin')->getPluginStaticUrl();
//абсолютный
$plugin_url = wa('someapp')->getPlugin('myplugin')->getPluginStaticUrl(true);

Результат

'/wa-apps/someapp/plugins/myplugin/'
'https://mydomain.ru/wa-apps/someapp/plugins/myplugin/'

public function getSettings ($name = null)

Возвращает информацию о настройках плагина, описанных в конфигурационном файле settings.php.

Параметры

  • $name

    Идентификатор настройки, значение которой нужно вернуть. Если не указать идентификатор (поведение по умолчанию), то метод вернет информацию обо всех настройках плагина.

Пример

//все настройки
wa('someapp')->getPlugin('myplugin')->getSettings()
//одна настройка
wa('someapp')->getPlugin('myplugin')->getSettings('some_setting')

public function getVersion()

Возвращает номер версии плагина. Информация о версии извлекается из конфигурационного файла plugin.php. Если в этом файле есть значение с ключом 'build', то к номеру версии добавляется точка со значением этого параметра.

Пример

$plugin_version = wa('someapp')->getPlpugin('myplugin')->getVersion();

Результат

//без 'build'
1.2.4
//с 'build'
1.2.4.382