Возможно ли из JS передать переменную в Smarty в шаблоне?

Тема в разделе "Shop-script", создана пользователем sounde, 8 мар 2009.

Статус темы:
Закрыта.
  1. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Привет всем!
    Нужно определить разрешение экрана у пользователя, чтобы на основе него задать вывод на главной SS количество столбцов спец. предложений.
    Спец. предложения кодируются строкой:
    Код:
    {if $smarty.section.i.index is div by 4}
    
    Вот и хочется вставить вместо
    Код:
    div by 4
    переменную из JS, т.е. кол-во выводимых столбцов тогда зависело бы тогда от разрешения экрана у юзера.
    Можно ли что-нибудь сделать такое интересно?
    По идее ведь и JS и смарти работают на одной странице вроде..
     
  2. mdss

    mdss ♖♘♗♕♔♗♘♖

    Moderator
    Регистр.:
    20 фев 2007
    Сообщения:
    1.126
    Симпатии:
    668
    эмм, а не проще поместить каждое спецпредложение в отдельный слой в стилях ему прописать float:left; width:200px; и уже в зависимости от ширины экрана будут сами выставляться
     
    sounde нравится это.
  3. sounde

    sounde

    Регистр.:
    12 сен 2008
    Сообщения:
    391
    Симпатии:
    64
    Напиши пожалуйста как это реализовать, хотя бы с простеньким примером :thenks:
    В стилях и слоях плохо разбираюсь :(
    Но если это возможно так сделать было бы супер!
    У меня проблема как раз в том, что 4 спецпредложения по горизонтали не влезают в дизайн при 768х1024 , а три бы влезли, т.е. сайт оптимизирую под два самых популярных разрешения. Нужно сделать чтобы или по три столбика выводились,если 1024х768 экран или по четыре столбика если у юзера 1280х1024 экран.
    PS: всего спец предложений выводится 12 штук.
     
  4. mdss

    mdss ♖♘♗♕♔♗♘♖

    Moderator
    Регистр.:
    20 фев 2007
    Сообщения:
    1.126
    Симпатии:
    668
    HTML:
    <div class="special">
         <a href="#"><img src="./products_pictures/{bla-bla-bla}" alt="{product_name}" /></a>
         {price}
         {* сюда в общем твои коды спецпредложений *}
    </dv>
    После закрытия секции спецпредложений (после {/section}) пропиши:
    HTML:
    <div style="clear:both;"></div>
    в стилях
    PHP:
    .special {
      
    float:left;
      
    width:200px;
      
    margin-left:10px;
    }
    .
    special:first-child {
      
    margin-left:0px/* это чтобы первый слой не сдвигался вправо на 10 пикселей */
    }
     
    sounde нравится это.
Статус темы:
Закрыта.