exists:

This expression returns true if the path specified after it exists, and false otherwise. It is analogous to PHP's isset().

Normally using a path which doesn't exist throws an error like "Cannot find variable 'foo' in current scope". Thus, uncertain paths must be checked first:

<span tal:condition="exists:user/preferences" tal:content="user/preferences">
  Use user/preferences here if defined
</span>

Подсказка

In PHPTALES use isset() instead.