cotonti.com : Дополнение для плагинов (ExtDev Helper: show/hide) https://www.cotonti.com Son konu mesajları Cotonti en Thu, 06 Aug 2026 19:08:10 -0000 Dayver Cmt, 06 Eki 2012 11:05:18 -0000 Trustmaster Я до сих пор старался избегать таких сложных конфигов и это даже как-то получалось :) Но если удача меня покинет, то это неплохой вариант :)

]]>
Cum, 05 Eki 2012 04:35:25 -0000
Macik :)  

Исходники https://github.com/macik/cot-extdev_showhide

]]>
Per, 04 Eki 2012 19:22:46 -0000
esclkm мило! скоро ты совсем убьешь конфиги!)

]]>
Per, 04 Eki 2012 18:17:14 -0000
Macik Написал небольшое дополнение для разработчиков. Для удобства оформил в виде плагина, хотя можете использовать в своем проекте просто скопировав часть кода (это просто - об этом ниже).

Что это и для чего: Это расширение интерфейса настройки плагинов. Если в плагине используется масса настроек, то ориентроваться в них, когда они отображены единой таблицей бывает не просто. Тем более иногда возникают ситуации, когда часть параметров актуальна только в случае выбора конкретного режима или значения. 

Для этого и служит данное расширение - оно позволяет скрывать и отображать часть параметров в зависимости от того, какие значения вы выбираете.

Пример: абстрактный плагин имеет 2 режима работа (режим «все пользователи»/режим « только модератор»), в зависимости от выбранного режима вам надо настроить дополнительные параметры. Естественно в стандартном варианте все параметры всегда будут у вас на экране, что не улдобно. А запустив скрипт вы будете иметь возможность видеть только параметры «для модератора», когда выбран режим «модератор» и видеть параметры «для пользователей», когда выбран режим «пользователи».

Вот тут демкаhttp://static.galaxyhost.org/cotonti/showhide.swf.html (экшен начинается с ~7-8 секунды)

Реализуется вся эта магия одним JS скриптом (который подгружается на странице настроек плагина) и специальными правилами именования переменных плагина (тех, что располагаются в *.setup.php файле).

Как использовать в своем проекте (2 варианта)

1. установить данный плагин в систему, выбрать в его настройках режим «global», переименовать переменные в своем плагине согласно правилам.

2. взять JS файл (extdev_showhide.js) из этого плагина и подключить на странице настроек вашего плагина, переименовать переменные в своем плагине согласно правилам.

 

Правила именования переменных:

для примера. наш плагин может опционально работать с библиотекой jQueryUI, и в настройках плагина присутствует параметр «путь к библиотеке jQueryUI». 
Вот так в таком случае могу выглядеть параметры в setup файле:

 

jqueryui=01:radio:0,1:1:Use jQueryUI
jquery_path=02:string::./js/jqueryui.js:Path to jQueryUI lib

Естественно, когда мы не используем библиотеку jQueryUI, параметр «путь к библиотеке jQueryUI» нам не нужен, и мы будем его скрывать.

Для этого изменим наименования параметров особым образом: к имени управляющего параметра добавим префикс «_#sh», а к зависимым параметрам (тем, которые будут скрываться/отображаться) добавим префикс «_sh_$», где вместо знака $ надо указать значение главного параметра при выборе которого данный параметр будет отображен. В нашем случае это «1». Получим такой вариант:

jqueryui_#sh=01:radio:0,1:1:Use jQueryUI
jquery_path_sh_1=02:string::./js/jqueryui.js:Path to jQueryUI lib

 Теперь второй параметр («путь к библиотеке») в таблице настроек будет отображаться только в том случае, если параметр «jqueryui_#sh» включен.

-----------------

Плюс такого расширения в его простой интеграции, просто подгрузить 1 js скрипт и переименовать параметры плагина.

Если внедряете в уже готовый плагин надо добавить 1-2 строки для переименовывания параметров к вашим стандартным именам:

	$my_plug_cfg = $cfg['plugin']['my_plug'];
	$my_plug_cfg = array_combine(preg_replace("/_#?sh\d*(_.*)?/", '', array_keys($my_plug_cfg)), array_values($my_plug_cfg));

--------

Чуть позже выложу код на ГитХаб.

 

]]>
Per, 04 Eki 2012 16:33:24 -0000