How do I check to see if a particular value has already been assigned to Smarty and if not assign a (default) value?
Answer:
if ($this->cismarty->get_template_vars('test') === null) { $this->cismarty->assign('test', 'Default value'); }
How do I check to see if a particular value has already been assigned to Smarty and if not assign a (default) value?
Answer:
if ($this->cismarty->get_template_vars('test') === null) { $this->cismarty->assign('test', 'Default value'); }
Smarty 2
if ($smarty->get_template_vars('foo') === null) { $smarty->assign('foo', 'some value'); }
Smarty 3
if ($smarty->getTemplateVars('foo') === null) { $smarty->assign('foo', 'some value'); }
Note that for Smarty 3, you will have to use $smarty->getTemplateVars
instead.
get_template_vars()
will return null if you haven't set a variable, so you can do
if ($smarty->get_template_vars('test') === null) { echo "'test' is not assigned or is null"; }
However that check will fail if you have a variable assigned but set as null, in which case you could do
$tmp = $smarty->get_template_vars(); if (!array_key_exists('test', $tmp)) { echo "'test' is not assigned"; }
Pretty sure you can do:
if (!isset($smarty['foo'])) { $smarty->assign('foo', 'some value'); }