Jump to content
Sign in to follow this  
Nemesis-tech

Smarty et javascript, comment faire ?

Recommended Posts

Bonjour,

 

Je dispose d'un fichier .tpl auquel il y a le code suivant :

 

<script type="text/javascript">
           $(document).ready(function(){
               $('#tagsphere').tagSphere({
                   height: 285,
                   width: 280,
                   slower: 0.65,
                   radius: 120,
                   timer: 50
               });
           });
</script>

 

 

J'aimerais grâce à smarty changer les valeurs de mes paramètres (height, widht, slower, etc.)

Pour cela, dans mon fichier .php du module, je fait :

$smarty->assign('width', $width);
       $smarty->assign('slower', $slower);
       $smarty->assign('radius', $radius);
       $smarty->assign('timer', $timer);

 

Mon fichier. tpl donne donc :

 

<script type="text/javascript">
           $(document).ready(function(){
               $('#tagsphere').tagSphere({
                   height: {$height},
                   width: {$width},
                   slower: {$slower},
                   radius:{$radius},
                   timer: {$timer}
               });
           });
</script>

 

Résultat : Ne fonctionne pas :-)

Avez-vous des suggestions ?

 

Merci à tous,

seb - intern

Share this post


Link to post
Share on other sites

Bonjour,

 

Pour utiliser du code javascript dans tes templates , il faut placer le code entre les balises {literal} et {/literal}, essaies avec ça, ton code devrait fonctionner.

Share this post


Link to post
Share on other sites

Merci, cela fonctionne avec:

 

{literal}
<script type="text/javascript">
           $(document).ready(function(){
               $('#tagsphere').tagSphere({
                   {/literal}
                   height: {$height},
                   width: {$width},
                   slower: {$slower},
                   radius: {$radius},
                   timer: {$timer}
                   {literal}
               });
           });
</script>
{/literal}

Share this post


Link to post
Share on other sites

Bonjour,

 

Pour utiliser du code javascript dans tes templates , il faut placer le code entre les balises {literal} et {/literal}, essaies avec ça, ton code devrait fonctionner.

en smarty 2 oui mais en smarty 3 il suffit de laisser un espace après une accolade pour que le contenu de cette accolade ne soit pas interprété comme du smarty (mais du js ou du css)

Share this post


Link to post
Share on other sites

en smarty 2 oui mais en smarty 3 il suffit de laisser un espace après une accolade pour que le contenu de cette accolade ne soit pas interprété comme du smarty (mais du js ou du css)

 

Je ne le savais pas, merci pour cette info.

Share this post


Link to post
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
Sign in to follow this  

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More