web-dev-qa-db-ja.com

smartyの連結

これら2つの変数を文字列で連結して得られる値を割り当てます。

{assign var="url" value="{$WS_PATH}aircraft_images/{$images[i].image}"}

これを賢く行う方法を教えてください。

22
user1163513

これらの1つが機能するはずです。

{assign var="url" value=$WS_PATH|cat:"aircraft_images/"|cat:$images[i].image}

または

{assign var="url" value="`$WS_PATH`aircraft_images/`$images[i].image`"}

$ images [i] .imageが正しく解析されるかどうかはわかりませんが、最初に別の変数に{assign}する必要があるかもしれません

36
periklis

assign を適切に使用しました。

簡単な例は次のようになります。

yourphpfile.php:

$tpl = new Smarty;
$tpl->assign('var1','Hello');
$tpl->assign('var2','World');
$tpl->display('yourtemplate.tpl');

yourtemplate.tpl:

...
<body>
{assign var="url" value="{$var1} - and - {$var2}"}
{$url}
</body>

...結果は次のようになります。

Hello - and - World
7
Bjoern

そのような表現はトリックを行います:

{$product1_photo = "{$smarty.const.IMG_URL}/{$pInfo.PhotoName}"}
1
Alp Altunel