Webmaster общности: Predpriemach.com | SearchEngines.bg

    Създаване на плугин за smarty

    Автор: jooorooo

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

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

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

    $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-ри аргумент на функцията.

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

    Оставете коментар