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 < 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 < (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