2012-04-05 53 views
18

我想將這兩個變量連接得到的值賦給一個字符串。smarty中的級聯

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

請讓我知道我們該如何在smarty中做到這一點。

回答

31

One o ˚F這應該工作:

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

或者

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

我不知道,如果$圖像[I]將圖像配正確解析,您可能需要{}分配給其他變量第一

+0

第一個工作完美 – Shwet 2014-05-30 07:42:43

+1

第二個方法更容易閱讀和工作(第一個didn 't) – user1429980 2014-09-19 20:34:51

+0

我想你不需要多給貓打電話,Simple $ var | cat:'str1':'str2':.......對我有用:) – 2015-11-24 03:02:20

6

您已經正確使用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 
+0

這實際工作,但它從哪兒記載烏? – 2017-08-28 19:42:09

+0

@ jave.web查看手冊中的[變量示例](https://www.smarty.net/docs/en/language.syntax.variables.tpl),它們涵蓋了大部分用例。 – Bjoern 2017-08-28 20:33:25

+0

很好,幾乎沒有顯示{}用於解決歧義,並連接在var/index命名,沒有這種情況下... x) – 2017-08-30 00:02:41

0

這樣的表達就可以了:

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