Где хранить ваши настройки

Взамен помещения ваших настроек в корневую папку компонента Widgetkit, разработчики предложили альтернативу в целях избежания проблем, которые могу возникнуть в процессе обновления Warp Framework.

Папка шаблона

Используя Warp Framework 7, вы можете помещать настройки в подпапку THEME-NAME/widgetkit/. Widgetkit автоматически определит, есть ли в ней провайдеры контента или виджеты.
  • Поместите собственный провайдер контента в THEME-NAME/widgetkit/content/PROVIDER-NAME/
  • Поместите собственный виджет в THEME-NAME/widgetkit/widgets/WIDGETPLUGIN-NAME/

Отдельный плагин

Помещение настроек вашего собственного плагина Widgetkit позволяет сохранить их ваши настройки в безопасности от изменений шаблона или компонента. Ваш плагин должен загружать приложение Widgetkit и регистрировать ваши собственные плагины Widgetkit в течение процесса загрузки.

WordPress

В WordPress собственный плагин требует лишь  одного php файла, размещенного в /wp-content/plugins/WP-PLUGIN-NAME. В целях этого урока поместим собственный виджет в папку
/wp-content/plugins/WP-PLUGIN-NAME/plugins, но вы можете изменить это так, как душе будет угодно. Вся вместе структура файлов выглдяит так. +-- plugins/ // Your custom Widgetkit plugins folder
+----- content/ // Content provider plugins folder
| WK-CONTENT-PLUGIN-NAME/
+----- widgets/ // Widgets plugins folder
|
WK-WIDGET-PLUGIN-NAME/
|--
PLUGIN-NAME.php // The main Wordpress plugin file
В нашем плагине нам нужно исполнить код после исполнения основного плагина Widgetkit, в порядке чего мы сошлемся на действие 'plugins_loaded' . Давайте посмотрим, как выглядит код.
СОВЕТ: В WordPress главный файл требует установить только имя плагина комментарии Заголовка, но есть другая полезная информация, например версия или автор. Убедитесь, что вы изучили документацию Wordpress на этот счет. <?php
/*
    Plugin Name: PLUGIN-NAME
*/
use YOOtheme\Widgetkit\Application;
add_action('plugins_loaded', function() {
    if (!class_exists('YOOtheme\Widgetkit\Application')) {
        return;
    }
    $app = Application::getInstance();
    // Register plugin path
    $app['plugins']->addPath(__DIR__.'/plugin/plugin.php');
    $app['locator']->addPath('plugins/content/wkcustom', __DIR__.'/plugin');
});

Joomla

В Joomla ваш собственный плагин требует двух файлов, главного PHP файла и главного XML файла, которые должны быть расположены в папке /plugins/system/JOOMLA-PLUGIN-NAME. В целях этого урока поместим собственный плагин Widgetkit в папку /plugins/system/JOOMLA-PLUGIN-NAME/plugins, но это можно изменить так, как вам будет угодно.
Вся вместе структура файлов выглядит так:
+-- plugins/ // Your custom Widgetkit plugins folder
+----- content/ // Content provider plugins folder
|
WK-CONTENT-PLUGIN-NAME/
+----- widgets/ // Widgets plugins folder
| WK-WIDGET-PLUGIN-NAME/
|-- PLUGIN-NAME.php // The main Joomla plugin file
|-- PLUGIN-NAME.xml // The main Joomla plugin xml file
В вашем плагине нам нужно внести код в событие Joomla onAfterInitialise . В порядке чего,  мы сошлемся на систему плагинов. Давайте посмотрим, как должен выглядеть код.
СОВЕТ: В Joomla плагин должен быть установлен через админпанель до того, как будет изменен. Убедитесь, что вы сделаете это после того, как завершите основную структуру.

<?php class plgSystemPLUGIN-NAME extends JPlugin
{
    public function onAfterInitialise()
    {
        // Load Widgetkit App
        if (!$app = @include JPATH_ADMINISTRATOR.'/components/com_widgetkit/widgetkit-app.php') {
            return;
        }         // Register all plugins
        $app['plugins']->addPath(__DIR__.'/plugins/*/*/plugin.php');         // Register each CONTENT provider plugin path
        $app['locator']->addPath('plugins/content/PLUGIN-NAME', __DIR__.'/plugins/content/PLUGIN-NAME');         // Register each WIDGET plugin path
        $app['locator']->addPath('plugins/widgets/PLUGIN-NAME', __DIR__.'/plugins/widgets/PLUGIN-NAME');
    }
}
Файл-манифест PLUGIN-NAME.xml должен быть представлен как есть. Есть много опций, которые здесь доступны, поэтому вы можете изучить документацию Joomla. В целях урока, мы установим следующие параметры. <?xml version="1.0" encoding="utf-8"?>
<extension type="plugin" version="3.1" group="system" method="upgrade">
    <name>System - PLUGIN-NAME</name>
    <version>VERSION</version>
    <description>DESCRIPTION</description>
    <files>
        <filename plugin="PLUGIN-NAME">PLUGIN-NAME.php</filename>
        <folder>plugins</folder>
    </files>
</extension>
  • Суббота, 17 января 2015

Оставить комментарий

Вы комментируете как Гость.

beget