Очень часто приходится ждать новой версии, т.к. выпускать новую версию только ради новой темы не хочется.
Вот и решил я сделать так, чтобы дизайнер темы мог выложить только тему, а пользователь мог бы использовать ее без установки новой версии.
Итак, теперь существует 3 варианта подключения темы к плагину:
1. Темы поставляются вместе с плагином.
Это так как было до этого. Тут ничего не поменялось.
2. Тема для плагина может поставляться вместе с темой для дюны.
Для этого необходимо добавить в корень темы для дюны папку 'plugins', в которой надо создать подпапку с названием плагина, а в нее папку с названием темы (как это было для встроенной темы), в которою положить файл skin.php и папку с иконками.
3. Тему для плагина пользователь может подложить сам.
Для этого необходимо создать на первом носителе, доступном дюне (обычно внутренний диск) папку "dune_plugin_skins", в которой надо создать подпапку с названием плагина, а в нее папку с названием темы (как это было для встроенной темы), в которою положить файл skin.php и папку с иконками.
Пример темы для watch.is:
alexlex_plugins_example_skin.zip 336.5К 537 Количество загрузок:
Для создания своей темы для плагина от меня необходимо сделать следующие изменения в примере:
1. Сделать свои картинки и положить в папку icons
2. Переименовать главную папку. Имя должно состоять только из букв латинского алфавита и без пробелов.
3. Изменения необходимые в skin.php:
- меняем имя класса. Имя класса должно соответствовать схеме: [имя папки на втором шаге]Skin. Например: если на 2-м шаге я назвал папку alex, то и класс будет иметь имя alexSkin. Регистр имеет значение.
- дальше меняем следующие функции
public function get_short_name() { return 'alex'; // тоже имя, что и название главной папки } public function get_long_name() { return 'от Алекса'; // эта строка будет отображаться в настройках плагина в списке при выборе темы } public function get_main_icon_path() { return '/icons/logo.png'; // путь к главной иконке (отображается на экране "Приложения" дюны). Путь относительно файла skin.php } public function get_settings_icon_path() { return '/icons/settings.png'; // путь к иконке настроек (отображается на экране "Настройки" дюны). Путь относительно файла skin.php }
В принципе, тема для плагина готова.
Теперь можно менять внешний вид плагина:
краткое описание функций:
GET_MAIN_MENU_FOLDER_VIEWS - меняет внешний вид главного экрана
Следующие три функции отвечаю за вид и расположение иконок на главном экране:
get_main_items_view_params_video - каталог
get_main_items_view_params_search - поиск
get_main_items_view_params_favorites - избранное
Количество этих функций будет столько сколько иконок на главном экране.
GET_VOD_CATEGORY_LIST_FOLDER_VIEWS - меняет внешний вид экрана категорий
get_category_items_view_params - меняет внешний вид конкретного пункта на экране категорий.
Эта функция принимает имя категории. При необходимости можно ориентироваться на это имя.
К примеру, при помощи этих двух функций можно изменить вид категорий со списка (обычно в моих плагинах) на плиточный вид.
GET_VOD_MOVIE_LIST_FOLDER_VIEWS - меняет внешний вид экрана с фильмами.
Функция должна возвращать массив с описаниями видов экрана с фильмами, между которыми можно будет переключаться красной кнопочкой А
get_vod_movie_items_view_params - параметры отображения конкретного фильма
GET_TEXT_ONE_COL_VIEWS - меняет внешний вид экрана с сериями
Вот где-то так.
Плагины, которые поддерживают эту схему (список будет меняться по мере переписывания плагинов):
Seasonvar.ru
Watch.is