Smarty неправильно вызывает внешние файлы javascript? - PullRequest
0 голосов
/ 06 июля 2011

У меня есть странная проблема, которую я не могу решить.Я пытаюсь вызвать функцию javascript из файла за пределами моего каталога шаблонов smarty, и он, похоже, не работает.В моем файле Smarty у меня есть:

<script type='text/javascript' src= '../functions/editConcert.js'></script>
<form>
<input type="button" value="Edit Info" onclick="editInfo();">
</form>

И в моем файле editConcert.js у меня есть (для целей тестирования):

function editInfo(){
     alert("I get here");
}

Моя структура каталогов выглядит следующим образом:

Classes
    -FillConcertInfo.php (this calls the smarty display function)
Templates
    -editConcert.tpl
Javascript
    -editConcert.js 

Я не могу на всю жизнь понять, что происходит.Он нормально работает на обычной странице php / html, но smarty, похоже, выбрасывает его на второй план.Любая помощь будет принята с благодарностью.

РЕДАКТИРОВАТЬ: Стоит отметить, что добавление следующего в мой шаблон Smarty работает, но я хотел бы использовать внешний файл:

{literal}
<script>
function editInfo(){
    alert("I get here");
}
</script>
{/literal}

Ответы [ 2 ]

2 голосов
/ 06 июля 2011

Я подозреваю, что файл js не связан должным образом и не найден.Убедитесь, что ресурс загружается.Если нет, исправьте путь.

0 голосов
/ 06 июля 2011

Smarty не влияет на загрузку внешних ресурсов, отправляемых клиенту, так как они запрашиваются клиентом.Добавление javascript в шаблон работает, потому что тогда определяется функция, при которой неработающая ссылка на внешний ресурс будет иметь неопределенную функцию.

Откройте инспектор Firebug / Chrome, просмотрите информацию о сети и посмотрите, не подключен ли внешнийСтраница javascript загружается или, скорее всего, имеет статус 404. Проверьте ваши каталоги, и это должно решить проблему.

...