Smarty dinamik değişken isimleri

1 Cevap php

Ben Smarty, burada bir örnek PHP dinamik atadık bazı değişkenleri erişmek istiyorum:

$content_name = 'body'
$smarty->assign('content_name',$content_name);
$smarty->assign($content_name.'_title',$title);
$smarty->assign($content_name.'_body',$body);

// assigned values
// $content_name = home
// $home_title = $title
// $home_body = $body

Ben çakışır hepsi aynı şablonu kullanabilir ve bu nedenle sadece kendi valus olarak $ title, $ vücut vb kullanmak istemiyorsanız, yukarıdaki kodu içeren bir işlevin birden çok sürümünü diyoruz çünkü bu erişmek istiyorum nedeni dinamik olarak birbirlerini.

Ben smarty içinde bu elde, nasıl ben set content_name dayalı başlık ve gövde değişkenleri erişmek istiyorum biliyorum göz önüne alındığında?

1 Cevap

Yerine dinamik değişkenler dizisi kullanarak benim yorumum başı olarak, burada bir dizi değişkenler eklemek için nasıl bir örnek:

php:

$vars = array();

function whatever() {
    global $vars;


    $vars[] = array(
        'firstname' => 'Mike',
        'surname' => 'Smith'
    );
}

$smarty->assign('vars', $vars);

smarty:

{section name=loop loop=$vars}
    Name: {$vars[loop].firstname} {$vars[loop].surname}
{/section}