Jump to content

Recommended Posts

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

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

 

Link to post
Share on other sites

 

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

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

{literal}
<script>
var peremennaya_js = {/literal}{$peremennaya_smarty}{literal};
...........................
</script>
{/literal}
Edited by koteyka
Link to post
Share on other sites

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

Link to post
Share on other sites

Примерно так

{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}
Edited by koteyka
Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...