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

Димитрий
На сайте с 20.01.2007
Offline
137
1101

в общем есть шаблон магазина vamshop на смарти,

одна из картинок задается куском вот такого кода:

<img src="{$tpl_path}i/right_write.png"

логично предположить, что вместо {$tpl_path} можно вставить какую-то переменную, которая каждый раз меняется, на 1 из 2х вариантов.

например, картинка одна, картинка вторая.

это нужно чтобы в шаблоне каждый раз выводилась своя картинка ( на выбор из двух)

поскольку в smarty полный нуб, прошу помощи, как это реализовать? через какой-то массив? или через цикл где будет меняться переменная? а потом эту переменную втыкать?

через ява-скрипт ничего не получается, слишком длинные конструкции да и неудобно..

прошу помощи:)

Разума и осознания! Личный сайт- грани мироздания, психология и всё такое (https://geval.ru)
N
На сайте с 06.05.2007
Offline
419
#1

Вы пытатесь сделать вещь противоречащую общепринятым правилам. В шаблонах не должно быть кода.

И по-моему в вамшопе своя баннерокрутилка была. Нет?

Кнопка вызова админа ()
Димитрий
На сайте с 20.01.2007
Offline
137
#2

не баннер надо вставлять, а делать замену картинок маленьких, одна на другую (разные телефоны)

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

куча разных условий и что?

C
На сайте с 04.02.2005
Offline
277
#3

до вызова шаблона сгенирить путь, добавить переменную в smarty

например

img src="{$tpl_path}{RND}/right_write.png"

V
На сайте с 03.12.2007
Offline
94
#4

Регистрируете в коде переменную smarty, например $key

$smarty->assign('key', true);

в шаблоне, если переменная существует - выводите один путь, если не существует - другой.

<img src="{if $key}{$tpl_path}{else}{$tpl_path2}{/if}i/right_write.png" />

Димитрий
На сайте с 20.01.2007
Offline
137
#5
vavenko:
Регистрируете в коде переменную smarty, например $key
$smarty->assign('key', true);

в шаблоне, если переменная существует - выводите один путь, если не существует - другой.

<img src="{if $key}{$tpl_path}{else}{$tpl_path2}{/if}i/right_write.png" />

а как менять эту переменную? по сути через раз, зашел человек- одна, повторно обновил страницу- другая?

то есть по сути как сделать рандомизацию?

N
На сайте с 06.05.2007
Offline
419
#6
Димитрий:
в смарти куча условий в том же вамшопе, если корзина пуста- выводить это..если полна- выводить то. и так далее.
куча разных условий и что?

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

Димитрий
На сайте с 20.01.2007
Offline
137
#7

помогло вот это

<img src="{$tpl_path}i/{1|rand:2}.png"

то есть выводится на выбор 1.png или 2.png

авось пригодится кому-то в будущем

как такая элегантная и простая конструкция- что-то нарушает?:)

N
На сайте с 06.05.2007
Offline
419
#8
Димитрий:
как такая элегантная и простая конструкция- что-то нарушает?

если вкратце - да.

V
На сайте с 03.12.2007
Offline
94
#9

{assign var=key value=1|rand:2}

<img src="{if $key ==1}path_1{else}path_2{/if}i/right_write.png" />

как-то так

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий