Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   При парсинге ошибка (https://forum.antichat.xyz/showthread.php?t=156993)

DeaD_MoroZ 16.11.2009 16:50

При парсинге ошибка
 
Проблемма в следующем: если запускать скрипт просто открывая его в браузере, он работает, но если его вставить в страницу на сайт-сразу же проблеммы с компилятором. Не могли бы вы его посмотреть, и повозможности подсказать что нужно изменить???
http://slil.ru/28210718

Martyr 16.11.2009 17:25

Напиши какие конкретно у тебя ошибки, я увидел только несколько:там просто нужно поставить ; на 73,75,77 и 79 строчке перед onmouseout.Кстати у меня скрипт везде нормально работал.

DeaD_MoroZ 16.11.2009 18:30

ругается полностью на всё в <script></script>(хотя ещё и не очень хороший компилятор использую-Smarty)

Martyr 16.11.2009 19:39

Просто нужно запретить Smarty эту секцию для парсинга.Проблема появляется из-за того, что яваскрипт и CSS используют символы { и } в качестве разделителей, которые так же используются в качестве разделителей для Smarty.
Решить это можно просто изменив свойства $left_delimiter и $right_delimiter в объекте Smarty.
PHP код:

<?php    
$smarty
->left_delimiter '<!--{';  
$smarty->right_delimiter '}-->'
$smarty->assign('foo''bar');
$smarty->assign('name''Albert');  
$smarty->display('example.tpl');    
?>

Где темплейт,например такой:
Код:

Welcome <!--{$name}--> to Smarty 
<script language="javascript">   
var foo = <!--{$foo}-->;   
function dosomething()
{   
 alert("foo is " + foo);    } 
  dosomething();  </script>


DeaD_MoroZ 17.11.2009 04:45

Спасибо за подсказку, помогло, но не совсем. Теперь не срабатывают события onmouse****.


Время: 20:13