Smarty: как получить такой же результат с php - PullRequest
0 голосов
/ 25 июля 2011

пример: URL содержится в переменной smarty

{$image->url|escape:'htmlall':'UTF-8'} 

, которая является полем url внутри таблицы изображений.Хорошо, теперь в php есть следующее:

echo "<![CDATA[<img src='...' alt='thumb' />";

как заменить содержимое в img src, чтобы получить URL-адрес из базы данных, содержащийся в переменной smarty?

EDIT : я должен прочитать поле URL из базы данных в таблице изображений, как это делает smarty, файл результата - .php, который показывает RSS в формате xml

echo "\t\t<item>\n";
echo "\t\t\t<title><![CDATA[".$product['name']." - ".html_entity_decode(Tools::displayPrice(Product::getPriceStatic($product['id_product']), $currency), ENT_COMPAT, 'UTF-8')." ]]></title>\n";
echo "\t\t\t<pubDate>" . $logged . "</pubDate>\n" ;

, после этого мне нужно IMAGE

1 Ответ

0 голосов
/ 25 июля 2011

это будет что-то вроде:

при условии, что ваш php-код будет выглядеть примерно так:

define('_PS_BASE_URL_', 'something');
define('__PS_BASE_URI__', 'something else');
$smarty->assign('image', $image);

файл tpl может быть что-то как здесь:

<![CDATA[<img src='{Smarty.const._PS_BASE_URL_}{Smarty.const.__PS_BASE_URI__}img/p/{$image.0.id_product}-{$image.0.id_image}-small.jpg' title='{$product.name}' alt='thumb' />

читайте о константах здесь .также для замены имени вам необходимо использовать некоторые модификаторы или функции

Edit 2:

вы можете использовать этот модификатор заменить в вашем тексте

Редактировать 3:

в php просто сделайте:

echo "<img src='" , htmlentities($image->url, ENT_COMPAT, 'utf-8') ,  "' />"; 
...