в общем есть шаблон магазина vamshop на смарти, одна из картинок задается куском вот такого кода: <img src="{$tpl_path}i/right_write.png" логично предположить, что вместо {$tpl_path} можно вставить какую-то переменную, которая каждый раз меняется, на 1 из 2х вариантов. например, картинка одна, картинка вторая. это нужно чтобы в шаблоне каждый раз выводилась своя картинка ( на выбор из двух) поскольку в smarty полный нуб, прошу помощи, как это реализовать? через какой-то массив? или через цикл где будет меняться переменная? а потом эту переменную втыкать? через ява-скрипт ничего не получается, слишком длинные конструкции да и неудобно.. прошу помощи
Димитрий, положите в каталог, в который ведет переменная $tpl_path 2 картинки: 1.png и 2.png и напишите такой код: PHP: <img src="{$tpl_path}i/" . rand(1, 2) . ".png" При каждой перезагрузке страницы будет выводится случайным образом 1 из 2х картинок.
не получается с таким кодом. вероятно потому, что соединение строк в смарте не с помощью точки делается..а с помощью чего-то другого. вот результат исходного кода хтмл: <img src="templates/argomoscow//i/ . rand(1, 2) . ".png" " width="412" height="100" align="right"> то есть и rand и "." пошли как обычные знаки.. может быть есть какой-то простой пример php-кода? учитывая что в смарти php код выполняется через {php} {/php}
респектабельный респект!! сработало! разве что кавычка лишня перед .png, с ней не работало но это уже мелочи
ну эээ.... Я со Смарти не работал и даже не знаю, что это такое, так что сорри. не знал, что где то есть модифицированный синтаксис PHP.
вообще, язык php изначально задумывался как шаблонизатор потом на нём стали делать внутреннюю логику и возникла задача - как отделить логику от представления. И придумали ещё шаблонизаторов (smarty, twig,etc) Также, придумали парадигму MVC, где архитектурно отделили вывод от представления. Теперь если ты правишь файл из каталога, скажем, component - модернизируешь логику, из каталога template - уже представление (т.е. отображение). Но и здесь пользуются smarty) PS хронология рандомная