Smarty değişkeni zaten atanmış ise ben nasıl görmek için kontrol edebilirim?

4 Cevap php

Belirli bir değer zaten Smarty atanmış değil, bir (varsayılan) değer atamak olup olmadığını nasıl görmek için kontrol edebilirim?

Cevap:

if ($this->cismarty->get_template_vars('test') === null) {
   $this->cismarty->assign('test', 'Default value');
}

4 Cevap


   if ($smarty->get_template_vars('foo') === null) 
   {
      $smarty->assign('foo', 'some value');
   }

EDIT

Smarty 3, aksi takdirde bir PHP haber alacaksınız, $smarty->getTemplateVars('xxx') yerine $smarty->get_template_vars('xxx') kullanımı zorunda kalacak unutmayın.

get_template_vars() Eğer bir değişken değil, null dönecektir, bu yüzden yapabileceğiniz

if ($smarty->get_template_vars('test') === null) {
    echo "'test' is not assigned or is null";
}

Eğer bir değişken atanır ama bunu hangi durumda null olarak ayarlanmış varsa, ancak bu onay başarısız olur

$tmp = $smarty->get_template_vars();
if (!array_key_exists('test', $tmp)) {
    echo "'test' is not assigned";
}

Yapabileceğiniz oldukça emin:

if (!isset($smarty['foo'])) 
{
    $smarty->assign('foo', 'some value');
}

smarty v3 = getTemplateVars bunu kontrol etmek.