![]() |
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]() ![]() ![]() |
|
grebnev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 18.3.2006 Репутация: нет Всего: нет |
Есть форма, в к.т. хочу проверять правильность ввода на JawaScript. Форма представляет собой файл шаблона, обрабатываемый библиотекой Smarty. При выполнении скрипта возникает ошибка.
Вопрос: можно-ли использовать JawaScript в шаблонах Smarty, если да, то чево нужно или не нужно делать??? |
|||
|
||||
StachelDraht |
|
|||
![]() Не Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 429 Регистрация: 19.1.2006 Репутация: нет Всего: 1 |
вопрос не по теме
что за библиотека Smarty??? |
|||
|
||||
skalex |
|
|||
![]() Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: нет Всего: 23 |
Что за ошибка возникает ?
StachelDraht, читай тут: http://smarty.php.net/ Это сообщение отредактировал(а) skalex - 27.3.2006, 17:41 |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
grebnev, можно использовать, но надо обрамлять тегами {literal}
типа
|
|||
|
||||
skalex |
|
|||
![]() Хороший человек ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 895 Регистрация: 2.4.2004 Репутация: нет Всего: 23 |
||||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: нет Всего: 6 |
кроме всего прочего не стоит забывать и о том, что тег {literal} прекращает интерпретацию Smarty тегов. Т.е. если между
{literal} будет находится Smarty тег, то он проигнорируется {if isset($var)} ddd {/if} в данном случае if - игнорируется {/literal} как вариант можно использовать {ldelim} & {rdelim} они заменяют { и } соответственно. пример: <script language="javascript" type="text/javascript"> function a(){ldelim} var z=0; return; {rdelim} </script> -------------------- |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
Alone,
Представляю себе такие функции
Крясота неописсуемая ;) А если еще и delim-ы стоят не { тогда вообще зашибись все станет ![]() ИМХО этот способ лучше не юзать никогда |
|||
|
||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: нет Всего: 6 |
Понимаю, но юзать приходится.
Как вариант могу предложить отдельный последовательный вывод парсеных блоков и хтмл кода с яваскриптом. Типа:
Хотя тоже не лучшее решение... PS: Не забывайте что это специфическая проблема тех случаев, когда действительно надо смешивать яваскрипт код и теги смарти, и не так уж и часто встречающаяся. Так что не надо "загонять под плинтус" ![]() Это сообщение отредактировал(а) Alone - 4.5.2006, 17:19 -------------------- |
|||
|
||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
Alone, хм. Ну а не лучше ли тогда
1.
2. Переназначить ldelim = {% rdelim = %} Тогда о проблеме фигурных скобок можно забыть |
|||
|
||||
Ksarien |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
можно переназначить еще так
{ - <{ } - }> |
|||
|
||||
st0neC0ld |
|
||||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 4.8.2006 Репутация: нет Всего: нет |
я вставляю яваскрипт, как часть контента:
или скрипты изменять нет возможности? Это сообщение отредактировал(а) st0neC0ld - 4.8.2006, 16:03 |
||||
|
|||||
Alone |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 663 Регистрация: 11.5.2003 Где: Dnepropetrovsk, U A Репутация: нет Всего: 6 |
Ksarien, не забываем также и о читабельности такого кода...
Ко всему прочему, если к примеру на 77% завершения работы над проектом тебе понадобилось вставить яваскрипт, и ты решил пойти путем замены тэгов, то врят ли кто назовет такой ход умным... ![]() На данный момент я для себя решил задачу так: Если яваскрипт не содержит переменных Smarty (а по логике вещей, он не должен их содержать) то выносим код скрипта в подгружаемый файл и инклудим этот файл в шаблоне. а-ля: {include file="jscript.js"} -------------------- |
|||
|
||||
ewolf |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 15.8.2006 Где: г. Москва Репутация: нет Всего: 18 |
Во-первых, чем не устраивает
? Во-вторых чем плох такой способ
? И зачем использовать такой ужас, как
при котором вся идея шаблонизации уезжает далеко и надолго? ![]() |
||||||
|
|||||||
smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: нет Всего: 259 |
ewolf,
Предлагаю тебе читать тему сначала, внимательно и вдумчиво а мессаги только потом постить. |
|||
|
||||
ST_Falcon |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 330 Регистрация: 14.11.2003 Где: Львов Репутация: нет Всего: 1 |
Ksarien,
ага... прикольно будет выглядеть например:
![]() |
||||
|
|||||
Ksarien |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 21.5.2006 Репутация: нет Всего: нет |
2 ST Falcon
а что прикольного?? не вижу принципиальной разницы между '{' и '<{'. юзаю и пока вопросов не возникало. зато не приходится js выносить в отдельный файл. |
|||
|
||||
euginewm |
|
|||
![]() Drupal Development Профиль Группа: Участник Сообщений: 28 Регистрация: 25.9.2006 Где: Zaporozhye Репутация: нет Всего: нет |
Получается, что тут как минимум 3 варианта:
1) переназначать фигурные скобки. 2) брать весь скрипт в {literal} {/literal} 3) выносить JS в отдельный файл кому уж как удобнее. ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Libraries | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |