Autor | Zpráva | ||
---|---|---|---|
Petroff Profil |
#1 · Zasláno: 24. 6. 2007, 07:32:10
Používá (kolega) systém CMS a potřeboval vložit do stránky(byla OK) JS tag (HTML jde přes WYSiWYG editor => možný kořen problémů - ale nemyslím že v tomto případě).
Normální krátký javascript: <script....>IsIE6= /MSIE (5|6)/.test(navigator.userAgent);....; function findLI(n){for(...){....}}.....</script> Výsledkem jsou tato chyb.hlášení: string(156) "Smarty error: [in template:20 line 21]: syntax error: unrecognized tag: findLI(document.getElementById("primary-nav")) (Smarty_Compiler.class.php, line 439)" string(111) "Smarty error: [in template:20 line 21]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 583)" string(344) "Smarty error: [in template:20 line 23]: syntax error: unrecognized tag: for(var m=n.firstChild;m!=null;m=m.nextSibling) if (m.nodeType==1){ if (m.nodeName=="LI") { if (JenIE6) m.style.height="0.8em"; if (JenIE6) m.style.marginTop="-0.15em"; m.onmouseover=function(){this.className+=" hvr" (Smarty_Compiler.class.php, line 439)" string(111) "Smarty error: [in template:20 line 23]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 583)" string(159) "Smarty error: [in template:20 line 29]: syntax error: unrecognized tag: this.className=this.className.replace(" hvr", "") (Smarty_Compiler.class.php, line 439)" string(111) "Smarty error: [in template:20 line 29]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 583)"Z textu JS na stránce zmizela většina (hlavně všechny závorky "{";až do 1.závorky je kód celý) Já PHP vůbec nerozumím(proto dotaz=>sem); tedy: Nedá se z toho všeho usoudit na příčinu/nápravu? Dík za každý nápad! |
||
bukaj Profil |
#2 · Zasláno: 24. 6. 2007, 10:22:41
pokud jsem správně pochopil tu chybu, tak ten CMS využívá šablonovací systém Smarty. a Smarty vše v šabloně, co je mezi { a } (není-li určeno jinak) bere jako své povely. imho jsou tři možnosti řešení:
1) určit jiné omezovače. což by ale znamenalo nejspíš podstatný zásah do celé šablony a CMS vůbec. 2) javascript do šablony includovat: {include file="název souboru"}, kde za název souboru do sadit soubor, kde je javascipt umístěn 3) vypsat ho v šabloně pomocí PHP přídáním: {php} echo <<<SCRIPT <script....>IsIE6= /MSIE (5|6)/.test(navigator.userAgent);....; function findLI(n){for(...){....}}.....</script> SCRIPT; {/php} na místo, kde má být skript umístěn imho se mi zdá nejlepší 2. řešení |
||
Časová prodleva: 17 let
|
0