Chcę przypisać wartość uzyskaną z konkatenacji tych dwóch zmiennych za pomocą ciągu znaków.Konkatenacja w smarty
{assign var="url" value="{$WS_PATH}aircraft_images/{$images[i].image}"}
Proszę dać mi znać, jak możemy to zrobić w smarty.
Chcę przypisać wartość uzyskaną z konkatenacji tych dwóch zmiennych za pomocą ciągu znaków.Konkatenacja w smarty
{assign var="url" value="{$WS_PATH}aircraft_images/{$images[i].image}"}
Proszę dać mi znać, jak możemy to zrobić w smarty.
Jedna o f to powinno działać:
{assign var="url" value=$WS_PATH|cat:"aircraft_images/"|cat:$images[i].image}
Albo
{assign var="url" value="`$WS_PATH`aircraft_images/`$images[i].image`"}
Nie jestem pewien, czy $ zdjęć [I] .image będzie analizowany poprawnie, być może trzeba będzie przypisać {} to do innej zmiennej pierwszy
Użyłeś poprawnie .
Uproszczony przykład mógłby wyglądać następująco:
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>
... doprowadzi do wyjścia:
Hello - and - World
to faktycznie działa, ale gdzie jest udokumentowany Oo? –
@ jave.web Zapoznaj się z [zmiennymi przykładami tutaj w podręczniku] (https://www.smarty.net/docs/en/language.syntax.variables.tpl), obejmują one większość przypadków użycia. – Bjoern
dobrze, że prawie się nie pokazuje {} są używane do adresowania niejednoznaczności i łączenia się w nazwach zmiennych/indeksu, nie ma tego przypadku ... x) –
takim wyrazem rade:
{$product1_photo = "{$smarty.const.IMG_URL}/{$pInfo.PhotoName}"}
Pierwszy działał idealnie – Shwet
Drugi jest łatwiejszy do odczytania i działa (pierwszy nie 't) – user1429980
Myślę, że nie musisz dzwonić do kota więcej razy, Simple $ var | cat:' str1 ':' str2 ': ....... działa dla mnie :) –