Re: [PHPTAL] javascript code messed up

2009-09-02 Thread Kornel Lesiński

On 02-09-2009 at 14:12:39 Tjerk Meesters tjerk.meest...@gmail.com wrote:


Start your script with !-- and end with //--


You must *not* do that in XHTML, because in XHTML this may actually  
comment out the script. XHTML doesn't have HTML's magic treatment of  
script and comments in it.


--
regards, Kornel

___
PHPTAL mailing list
PHPTAL@lists.motion-twin.com
http://lists.motion-twin.com/mailman/listinfo/phptal


Re: [PHPTAL] javascript code messed up

2009-09-02 Thread Kornel Lesiński

On 02-09-2009 at 14:04:15 GRolf ger...@pictureparking.com wrote:


I'm using a tal:block fill-slot=script to fill my macro template with
javascript code. However, all  are converted to $lt;, which (seems
to) cause an error in a for loop

for (i=0; i  myarray.lenght; i++) {
 ...
}

is converted to

for (i=0; i lt; myarray.lenght; i++) {
 ...
}

and I get an error at that line.


Apparently you're using text/html mode. Do you use HTML 5 output mode or  
XHTML?



XHTML requires  to be escaped as lt; (otherwise it would be ill-formed  
start of a tag).


HTML requires the opposite - it has hardcoded rule that script content  
is CDATA where entities aren't interpreted.




Any way to enforce phptal to put the content from the tal:block to
be passed as text ?


Strictly speaking it is passed as text, and text in markup has to be  
escaped.


Try wrapping script in fill-slot in /*![CDATA[*/ … /*]]*/. That is a  
workaround for XHTML served as HTML.


--
regards, Kornel

___
PHPTAL mailing list
PHPTAL@lists.motion-twin.com
http://lists.motion-twin.com/mailman/listinfo/phptal


Re: [PHPTAL] javascript code messed up

2009-09-02 Thread Yannick Dirou

GRolf a écrit :

what solution would you propose then ?
  

IMHO javascript has nothing to do in (X)HTML,

use external file!

ie :
script type=text/javascript src=javascript.js/script

___
PHPTAL mailing list
PHPTAL@lists.motion-twin.com
http://lists.motion-twin.com/mailman/listinfo/phptal