2010-03-26 11 views
1

J'ai assigné une variable Smarty:Passage d'une variable Smarty en lien avec Javascript "src" attribut

{assign var="siteurl" value="http://website.com"} 

je peux utiliser avec succès dans mon fichier header.html pour appeler un lien CSS:

<link rel="stylesheet" type="text/css" href="{$siteurl}/style.css" /> 

affiche

<link rel="stylesheet" type="text/css" href="http://website.com/style.css" /> 

Cependant, quand je fais la même chose pour une source Javascript, il imprime littéralement "{$} siteurl de":

<script type="text/javascript" src="{$siteurl}/scripts.js"></script> 

affiche

<script type="text/javascript" src="{$siteurl}/scripts.js"></script> 

Pourquoi est pas cette variable Smarty affichent comme prévu?

+0

Étrange. Il ne devrait pas le faire tout seul. Quelle version de Smarty est-ce? Utilisez-vous '{literal} {/ literal}' quelque part? –

+0

Vous savez quoi, je thématise un système aMember. Donc, je n'ai pas construit le système à partir de zéro. Je parie qu'ils ont mis des balises {literal} enveloppant le contenu quelque part dans la structure du fichier. Maintenant que je sais que le code ci-dessus devrait fonctionner, je vais commencer à passer par la structure de fichier pour le débogage. Merci. Y at-il une fonction php possible qu'ils auraient pu appeler (que je devrais rechercher) pour activer cette fonctionnalité {littérale}? –

Répondre

0

Les balises de script sont-elles enveloppées dans un bloc Smarty {literal}{/literal}? Cela empêcherait le rendu de la balise {$siteurl}.

+0

Non. En fait, j'ai essayé de les emballer avec {literal} pendant le dépannage, mais je me suis rendu compte que c'était le contraire de ce que je voulais faire. –

+0

Vous savez quoi, je thématise un système aMember. Donc, je n'ai pas construit le système à partir de zéro. Je parie qu'ils ont mis des balises {literal} enveloppant le contenu quelque part dans la structure du fichier. Maintenant que je sais que le code ci-dessus devrait fonctionner, je vais commencer à passer par la structure de fichier pour le débogage. Merci. Y at-il une fonction php possible qu'ils auraient pu appeler (que je devrais rechercher) pour activer cette fonctionnalité {littérale}? –

+0

J'ai essayé de mettre {/ literal} au début du script, puis {literal} à la fin du script. Dans le cas où le système aMember laissait la balise {literal} ouverte dans l'un des fichiers initiaux, et la fermait dans l'un des fichiers finaux (quelle qu'en soit la raison). Il a attiré une erreur cependant, donc dés là non plus. Hmm ... –

1

Problème résolu! Comme mentionné dans les commentaires ci-dessus, je travaille sur un système aMember. Je ne suis pas sûr qu'ils laissent smarty {literal} tags ouvert à la fin de leurs fichiers initiaux, puis les fermer à la fin, ou quoi. Mais le correctif remplaçait

{$siteurl} 

avec

{/literal}{$siteurl}{literal} 

J'ai essayé de mettre les balises inverses {literal} au début et à la fin du document, mais il a jeté une erreur. Je dois mettre manuellement le code ci-dessus pour chaque instance de src javascript.

MERCI BEAUCOUP TOUT LE MONDE POUR L'AIDE !!

+0

J'ai une situation similaire ici mais peu complexe, regardez @ mon code. '{literal} {/ literal}' Dans ce cas, il ne renvoie pas l'URL complète, mais la valeur est récupérée.Aide? – Vijay