Отображает порцию контента, если указанная в атрибуте for переменная определена во время выполнения шаблона. Данный тег часто используется совместно с тегом <core:default> для реализации простой if/else логики.
<core:optional> - является WactCompilerDirectiveTag, поэтому не создает активного компонента времени выполнения.
<core:optional for='data_binding_expression'> ...some contents </core:optional>
В любом месте WACT шаблона
Любое.
Рабочие примеры можно найти по адресу http://projects.limb-project.com/wact/show.php?group=tags/core/optional_and_default/
Допустим, что у нас есть шаблон /optional.html:
<core:optional for="clicked"> <p>You clicked the link</p> </core:optional> <core:default for="clicked"> <p>This is the default - link not clicked</p> </core:default> <p><a href="?clicked=1">Click Me!</a></p>
Управляющий код:
$template = new WactTemplate('/optional.html'); if(isset($_GET['clicked']) && $_GET['clicked']) $template->set('clicked',1); $template->display();
В итоге сначала будет отображено содержимое тега <code:default>, а после клика по ссылке - содержимое тега <core:optional>.
Обсуждение