вставка случайной картинки через smarty

Тема в разделе "Как сделать...", создана пользователем Димитрий, 4 сен 2012.

  1. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    288
    Симпатии:
    77
    в общем есть шаблон магазина vamshop на смарти,
    одна из картинок задается куском вот такого кода:

    <img src="{$tpl_path}i/right_write.png"
    логично предположить, что вместо {$tpl_path} можно вставить какую-то переменную, которая каждый раз меняется, на 1 из 2х вариантов.
    например, картинка одна, картинка вторая.
    это нужно чтобы в шаблоне каждый раз выводилась своя картинка ( на выбор из двух)
    поскольку в smarty полный нуб, прошу помощи, как это реализовать? через какой-то массив? или через цикл где будет меняться переменная? а потом эту переменную втыкать?
    через ява-скрипт ничего не получается, слишком длинные конструкции да и неудобно..
    прошу помощи:)
     
  2. t3s

    t3s

    Регистр.:
    16 фев 2008
    Сообщения:
    719
    Симпатии:
    290
    смарти - шаблонизатор а не язык, поэтому все-таки перенесу тему...
    что разных картинок, то простейшее что лезет в голову - это использование условий {if} {else} - смарти их поддерживает
    если нету иных условий (например - на разных страницах разная картинка, или разным пользователям разная картинка, или хз что еще) - можете воспользоваться random-ом, смарти это тоже умеет

    т.е. как-то так:
    Код:
    {assign var=x value= 1|rand:2 }
    {if $x == 1}
        переменная 1
      {else}
        переменная 2
    {/if}
     
  3. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    288
    Симпатии:
    77
    а мне подсказали как сделать даже без условий- вариант рабочий
    <img src="{$tpl_path}i/{1|rand:2}.png"
    выводит 1.png или 2.png на выбор

    а как сделать тоже самое, но не в смарти, а обычным скриптом? то есть

    такая ситуация, есть страница целиком написанная на html, но с расширением .php и следовательно php внутри можно использовать, что и сделано по мелочам.

    Возникло желание в шапке сайта по случайности выводить

    одну из двух картинок ( 1 или 2.jpg)

    Код вот такой
    <p align="center"> <img src="../img/<?php echo rand(1,2); . ".jpg"> ?> </p>

    выдает Parse error: syntax error, unexpected '.' in такая то строка..
    в общем как построить верно конструкцию, чтобы внутри img src по случайности то 1.jpg появлялось, то 2.jpg ?
     
  4. Extalionez

    Extalionez Клоун

    Заблокирован
    Регистр.:
    21 авг 2008
    Сообщения:
    368
    Симпатии:
    185
    PHP:
    <p align="center"> <img src="../img/<?php echo rand(1,2); ?>.jpg"/>  </p>
     
  5. Димитрий

    Димитрий

    Регистр.:
    1 фев 2007
    Сообщения:
    288
    Симпатии:
    77
    <p align="center"> <img src="../img/<?php echo rand(1,2); ?>.jpg"> </p> вот это сработало, палка лишняя и пробел тоже