Създаване на плугин за smarty
16-09-2009
Накратко ще ви покажа как да си създадете плугин за смарти. Ще го направя с някой опростен за да може да разберете смисъла.

За да не се налага да редактирате смарти файловете, а и да си запазите плугините при упдеит на смарти правим следното:

Веднага след:

$smarty = new Smarty();


добавяме:

array_push($smarty->plugins_dir, 'myplug');


като myplug е папка която се намира при папка 'plugins' на смарти.
просто в тази папка ще слагаме собствените си плугини.

сега ще създадем 1 плугин за htmlspecialchars .

Тъй като плугините на смарти за функции започват с име modifier. на файла, си създаваме 1 файл modifier.htmlsp.php в папка myplug .

функциите който са за плугин или по точно имената им започват с smarty_modifier_ .

Създаваме си 1 ф-ия

function smarty_modifier_htmlsp($string, $quote_style = false) която в завършен вид представлява:

function smarty_modifier_htmlsp($string, $quote_style = false)
{
$ar = array('ENT_COMPAT'=>ENT_COMPAT, 'ENT_QUOTES'=>ENT_QUOTES, 'ENT_NOQUOTES'=>ENT_NOQUOTES);
if($ar[$quote_style]) {
return htmlspecialchars($string, $ar[$quote_style]);
} else {
return htmlspecialchars($string);
}
}


и сега вече имате ф-ия htmlsp която се ползва по следния начин:

{$ggg|htmlsp} без 2-ри аргумент на функцията или
{$ggg|htmlsp:ENT_QUOTES} с 2-ри аргумент на функцията.

по същия начин и логика може да си създадете каквито искате плугини.




/ Трябва да сте регистриран за да напишете коментар /
От: federer_11
22:53 18-09-2009
наистина интересно, повече такива уроци трябва да се правят
От: jooorooo
11:48 20-09-2009
Реално ми се вижда малко тромава система, но това си е мое мнение. Който я харесва да я ползва :-) аз я поразучих за да видя смисъла и на работа.
От: admin
22:01 20-09-2009
Системата е добра но е натъпкана с екстри и чудеса.
Урока ти за ползване на темплейт системата на пхпбб ми се струва по-практичен, но
зависи кой какво търси....
Хубаво е човек да ползва това което разбира, защото иначе се ограничава само до рамките на готовата система.
От: federer_11
15:20 24-09-2009
smarty има проблеми с бързодействието, това е факт. Същата тази темплейтна система има различен синтаксис, който се различават от този на php. Всъщност все едно пишеш на напълно различен език. Има си техники за оправяне на проблемите с perfomance-а, но за един средно-голям проект smarty е перфектния избор.
1