Usage (
flexy:if="variable"
, flexy:if="method()"
, flexy:if="object.method()"
)
creates an if condition surrounding the tag that it's included in.
string variable -
relates to $object->variable
string method -
relates to $object->method()
string object.method
relates to $object->object->method()
Setting variables for foreach
class output {
function hasTest() {
return false;
}
function run() {
$this->a = true;
$this->message = 'oops'
$template->outputObject($this);
}
}
flexy:if in template
<a href="{baseURL}/somepath.html" flexy:if="a">this is the a link</a>
<a href="{baseURL}/somepath.html" flexy:if="!a">this is not the a link</a>
<b flexy:if="hasTest()">hasTest is true</b>
<b flexy:if="!hasTest()">hasTest is false</b>
<span flexy:if="message" class="error">{message}</span>
Compiled template
<?php if ($t->a) { ?><A HREF="<?php echo htmlspecialchars($t->baseURL); ?>/somepath.html">this is the a link</A><?php } ?>
<?php if (!$t->a) { ?><A HREF="<?php echo htmlspecialchars($t->baseURL); ?>/somepath.html">this is not the a link</A><?php } ?>
<?php if (isset($t) && method_exists($t,'hasTest')) if ($t->hasTest()) { ?><B>hasTest is true</B><?php } ?>
<?php if (isset($t) && method_exists($t,'hasTest')) if (!$t->hasTest()) { ?><B>hasTest is false</B><?php } ?>
<?php if ($t->message) { ?><SPAN CLASS="error"><?php echo htmlspecialchars($t->message); ?></SPAN><?php } ?>
Simple ouput example
this is the a link
hasTest is false
oops