Forumlar / National / Russian / Идеи / Упрощение установки расширений

Автоматическая вставка кода плагина в шаблоны.

Macik
#35847 2012-10-18 21:00

Сейчас многи расширения помимо установки через админ панель требуют руками прописывать теги в шаблоны, что для начинающего пользователя может быть затруднительно, и в любом случае неудобно и требует лишнего времени. (Даже мне порой сложно - т.к. не сразу поймешь какой шаблон используется из плагина, из модуля или который лежит в теме оформления...).

Поэтому родилась идея использовать в плагинах (там где это возможно) автоматическую вставку (шаблоны при этом остаються неизменными). 

Реализуется это достаточно просто.

Многие Теги вставляются в стандартные для данного плагина места - виджет «like» в  конец страницы, виджет «userwall» на страницу профиля пользователя и т.п.

Мы можем не заставлять пользователя делать это в ручную, а автоматизировать процесс путем переопределения (дополнения) уже стандартных присутствующих в системе и обработанных тегов.

На примере плагина «social_share» простой код: 

// проверяем включен ли режим автоматической вставки (по умолчанию включен)	
// и на отсутствие тегов плагина в шаблоне 
if ($socs_cfg['auto_insert'] && !(method_exists('XTemplate','hasTag') && $t->hasTag('SOCIAL_SHARE'))) {
	$t->vars['PAGE_TEXT'] .= $code; // автоматически вставляем виджет в конец страницы
} else { 
	$t->assign('SOCIAL_SHARE',$code); // обрабатываем тэги шаблона (виджет будет ставлен только при наличии тега)
}

Думаю код нагляден и понятен. И плагин начинает работать сразу после установки (без каких-либо дополнительных телодвижений) как, например, в Вордпресс. Это еще один шаг к юзабилити и «широким массам» пользователей.

Естественно не для каждого плагина и шаблона этот метод можно применить, но большинство дополнений в стиле «еще одна рюшечка на сайт» могут этот метод внедрять.

 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F