14/02/2012, 16:36:08
@Bess:
En fait je tenté d'exprimé ce que d'autre appelle des hooks.
je veux pouvoir placer {cms_script} a différents endroits, comme les gabarits, les modules, voir dans {content} et voir en sortie une balise script, un seul fichier contenant tout le Javascript (regroupant les appels soumis au meme options, ex: async, append, host), "accroché/receptionné" par les appels a {cms_script}.
Exemple !
Dans le <head> mon gabarit:
Dans mon gabarit de "Gallery", champs 'Gabarit HTML' (j'ai testé dans gabarit Javascript ca ne fonctionne pas) :
Et enfin dans la page contact:
Qui resulterai en
Par cette exemple, j'essaie de démontrer que, quelques soit le point de vue sur "la meilleure façon de faire", cette balise/plugin offrirai une gestion simple et précise du Javascript.
Je pense que le plugin suffit et que la création d'un module abouti, s’apparenterait a une copie de scriptDeploy allégé / reskinné ?
En fait je tenté d'exprimé ce que d'autre appelle des hooks.
je veux pouvoir placer {cms_script} a différents endroits, comme les gabarits, les modules, voir dans {content} et voir en sortie une balise script, un seul fichier contenant tout le Javascript (regroupant les appels soumis au meme options, ex: async, append, host), "accroché/receptionné" par les appels a {cms_script}.
Exemple !
Dans le <head> mon gabarit:
Code :
{cms_scripts host="https://ajax.googleapis.com/ajax/libs/" files="jquery/1/jquery.min.js;jqueryui/1/jquery-ui.min.js" append="0" async="1"}
{cms_scripts host="http://static.mondomaine.com/assets/js/" files="menu-hover-v12.js;scrollToMe.js" compression="YUI" async="1" append="1"}
Dans mon gabarit de "Gallery", champs 'Gabarit HTML' (j'ai testé dans gabarit Javascript ca ne fonctionne pas) :
Code :
{cms_scripts host="http://static.mondomaine.com/assets/js/" files="gallery-v8.js" compression="packed" async="1" append="1"}
Et enfin dans la page contact:
Code :
{contact_form}
{cms_script host="http://static.mondomaine.com/assets/js/" files="form-control.js" compression="YUI" async="0" append="1"}
Qui resulterai en
Code :
[== HTML ==]
...
<head>
<!--2 balises distinctes car append="0" a l'appel -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js" async="async"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js" async="async"></script>
<!--contient menu-hover-v12.js suivi de scrollToMe.js minifier via YUI, suivi de gallery-v8.js minifier via packed. -->
<script src="http://static.mondomaine.com/tmp/cache/script_combined_c9f1d0865401fa704035641380a9bddf.js" async="async"></script>
<!--contient form-control.js minifier via YUI. mais pas concaténé car async="0" -->
<script src="http://static.mondomaine.com/tmp/cache/script_combined_k8f2d0868941fa704035641380a9hggf.js" async="async"></script>
</head>
...
Par cette exemple, j'essaie de démontrer que, quelques soit le point de vue sur "la meilleure façon de faire", cette balise/plugin offrirai une gestion simple et précise du Javascript.
Je pense que le plugin suffit et que la création d'un module abouti, s’apparenterait a une copie de scriptDeploy allégé / reskinné ?