Вы можете добавить "| nothing
" к выражениям TALES или использовать isset()
в php:
выражениях.
<p tal:attributes="class php:isset(class)?class:NULL"
tal:content="variable | nothing" />
Если у вас есть больший бит кода, который опирается на определенную переменную, тогда используйте модификатор exists:
:
<div tal:condition="exists:variable">
…
</div>
Если вы хотите подделать существование какой-либо переменной, это можно сделать, но я не рекомендую это (она будет скрывать опечатки):
class FakeAll extends stdClass
{
function __get($var){return "";}
function __isset($var){return true;}
}
$p = new PHPTAL();
$p->getContext()->setGlobal(new FakeAll());