Jump to content

ajouter une méthode smarty


Recommended Posts

Bonjour à tous.

 

J'aimerai pouvoir contrôler l'ajout des css et des js depuis les fichier.tpl de mes thèmes, sans perdre la compression.

(donc en passant par Tools::addCSS et Tools::addJS )

 

pour avoir un truc du genre dans mes fichiers.tpl

{addCSS url="/css/monfichier.css"}

mais ou mettre ce bout de code ?

 

public function smarty_function_addCSS($params)
{
extract($params);
Tools::addCSS($url, 'all');
}

$smarty->register_function('addCSS', 'smarty_function_addCSS');

 

pensez vous que ça peut marcher ?

  • Like 1
Link to comment
Share on other sites

[édit] > plus simple

il suffit de rajouter un fichier dans tools/smarty/plugins

et de le nommer "function.addCSS.php"

 


function smarty_function_addCSS($params, $template)
{
   Tools::addCSS($params['url']);
} 

 

 

 

 

Merci ça fonctionne

donc dans le fichier config/smarty.config.inc.php

 


smartyRegisterFunction($smarty, 'function', 'addCSS', 'smartyAddCSS');

 


function smartyAddCSS($params)
{
Tools::addCSS(_THEME_CSS_DIR_.$params['url']);

global $css_files, $smarty;
$smarty->assign('css_files', $css_files);
}

 

dans header .tpl

{addCSS url="test.css"}

 

note : il faut que le fichier css soit bien présent dans le dossier css du thème sinon l'appel n'est pas fait.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...