Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Всем привет. Совсем недавно начала познавать симплу, есть вопрос( наверняка решение не сложное, но мне оно не приходит).

У меня есть  index.tpl и файл js, а точнее скрипт обратной связи с использованием fancybox. Форма обратной связи предусматривает поле select c выбором одной позиции. Необходимо сделать так чтобы циклом подтягивались все названия из админки. Проблема в том что в fancybox в content не распознает синтаксис simpla и игнорирует {if}{/if}. Как же тогда возможно решить такую задачу? Рада буду любому ответу или ссылке на нужную статью. Спасибо заранее.

 

Ссылка на сообщение
Поделиться на другие сайты


{literal}
<script>
...
{/literal}
{foreach $params as $pr}
{$pr}
{/foreach}
{literal}
...
</script>
{/literal}

 

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

 

{literal}
<script>
...
{/literal}
  {foreach $params as $pr}
    {$pr}
  {/foreach}
{literal}
...
</script>
{/literal}

Это для файла js? разве он распознает {literal}? Или нужно в шаблон весь код js файла перенести и тогда обернуть?

Ссылка на сообщение
Поделиться на другие сайты

это для шаблона. как вы собрались передавать в js файл переменные simpla?

 

можно не весь код, а только настройки вынести в шаблон и обернуть литералом. тогда можно будет через js считать эти переменные на странице

Ссылка на сообщение
Поделиться на другие сайты

Передать переменные можно таким способом, но это если скрипт или его часть находится в шаблоне.

{literal}
<script>
var peremennaya_js = {/literal}{$peremennaya_smarty}{literal};
...........................
</script>
{/literal}
Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Koteyka,спасибоо,а скажите пожалуйста,вы сказали "часть скрипта",а как же мне вынести кусок скрипта в шаблон а потом заставить его работать в js файле?

Ссылка на сообщение
Поделиться на другие сайты

Примерно так

{literal}
<script>
var peremennaya_js = {/literal}{$peremennaya_smarty}{literal};

     start(peremennaya_js); // Это функция уже из файла.

</script>
{/literal}

 

или так

{literal}
<script>
var peremennaya_js = {/literal}{$peremennaya_smarty}{literal};
     if(peremennaya_js == 'Истина')
     {
          start(параметр1, параметр2); // Это функция уже из файла. Параметры, при необходимости, можно и без них
     }
</script>
{/literal}
Изменено пользователем koteyka
Ссылка на сообщение
Поделиться на другие сайты

Передать переменные можно таким способом, но это если скрипт или его часть находится в шаблоне.

ну то же что написал я выше

Ссылка на сообщение
Поделиться на другие сайты

ну то же что написал я выше

Вы просто цикл в скрипт вставили, а переменные Вы там не передаете.

Ссылка на сообщение
Поделиться на другие сайты

Вы просто цикл в скрипт вставили, а переменные Вы там не передаете.

 

да, цикл, так как ТС говорила что эти названия циклом подтягиваются из админки, поэтому сделать какой-то массив в js и передать туда все эти елементы.

Ссылка на сообщение
Поделиться на другие сайты

Ребята, спасибо за помощь, решать надо было быстро, так что просто перенесла весь скрипт в шаблон, а там уже пригодились literal. 

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...