## Class TConditional

Description

TConditional class.

TConditional displays appropriate content based on the evaluation result of a PHP expression specified via Condition. If the result is true, it instantiates the template TrueTemplate; otherwise, the template FalseTemplate is instantiated. The PHP expression is evaluated right before onInit stage of the control lifecycle.

Since Condition is evaluated at a very early stage, it is recommended you set Condition in template and the expression should not refer to objects that are available on or after onInit lifecycle.

A typical usage of TConditional is shown as following:

     <com:TConditional Condition="$this->User->IsGuest">
       <prop:TrueTemplate>
         <a href="path/to/login">Login</a>
       </prop:TrueTemplate>
       <prop:FalseTemplate>
         <a href="path/to/logout">Logout</a>
       </prop:FalseTemplate>
     </com:TConditional>

TConditional is very light. It instantiates either TrueTemplate or FalseTemplate, but never both. And the condition is evaluated only once.

- since: 3.1.1
- version: $Id: TConditional.php 2541 2008-10-21 15:05:13Z qiang.xue $
- author: Qiang Xue <qiang.xue@gmail.com>

Located in /Web/UI/WebControls/TConditional.php (line 46)

    TComponent
       |
       --TApplicationComponent
          |
          --TControl
             |
             --TConditional

Method Summary
void addParsedObject (string|TComponent $object)
void createChildControls ()
string getCondition ()
ITemplate getFalseTemplate ()
ITemplate getTrueTemplate ()
void setCondition (string $value)
void setFalseTemplate (ITemplate $value)
void setTrueTemplate (ITemplate $value)
Methods
addParsedObject (line 60)

Processes an object that is created during parsing template.

This method overrides the parent implementation by removing all contents enclosed in the template tag.

- access: public
- see: TComponent::createdOnTemplate()

void addParsedObject (string|TComponent $object)

- string|TComponent $object: text string or component parsed and instantiated in template

Redefinition of:

TControl::addParsedObject()
  Adds the object instantiated on a template to the child control collection.

createChildControls (line 71)

Creates child controls.

This method overrides the parent implementation. It evaluates Condition and instantiate the corresponding template.

- access: public

void createChildControls ()

Redefinition of:

TControl::createChildControls()
  Creates child controls.

getCondition (line 96)

- return: the PHP expression used for determining which template to use. Defaults to 'true', meaning using TrueTemplate.
- access: public

string getCondition ()
getFalseTemplate (line 130)

- return: the template applied when Condition is false.
- access: public

ITemplate getFalseTemplate ()
getTrueTemplate (line 114)

- return: the template applied when Condition is true.
- access: public

ITemplate getTrueTemplate ()
setCondition (line 106)

Sets the PHP expression to be evaluated for conditionally displaying content.

The context of the expression is the template control containing TConditional.

- access: public

void setCondition (string $value)

- string $value: the PHP expression used for determining which template to use.

setFalseTemplate (line 138)

- access: public

void setFalseTemplate (ITemplate $value)

- ITemplate $value: the template applied when Condition is false.

setTrueTemplate (line 122)

- access: public

void setTrueTemplate (ITemplate $value)

- ITemplate $value: the template applied when Condition is true.

#### Inherited Methods

Inherited From TControl

> TControl::__construct()
> TControl::addedControl()
> TControl::addParsedObject()
> TControl::addToPostDataLoader()
> TControl::applyStyleSheetSkin()
> TControl::autoBindProperty()
> TControl::autoDataBindProperties()
> TControl::bindProperty()
> TControl::broadcastEvent()
> TControl::bubbleEvent()
> TControl::clearChildState()
> TControl::clearControlState()
> TControl::clearNamingContainer()
> TControl::clearViewState()
> TControl::convertUniqueIdToClientId()
> TControl::createChildControls()
> TControl::createControlCollection()
> TControl::dataBind()
> TControl::dataBindChildren()
> TControl::dataBindProperties()
> TControl::ensureChildControls()
> TControl::findControl()
> TControl::findControlsByID()
> TControl::findControlsByType()
> TControl::focus()
> TControl::getAdapter()
> TControl::getAllowChildControls()
> TControl::getAttribute()
> TControl::getAttributes()
> TControl::getChildControlsCreated()
> TControl::getClientID()
> TControl::getControls()
> TControl::getControlStage()
> TControl::getControlState()
> TControl::getCustomData()
> TControl::getEnabled()
> TControl::getEnableTheming()
> TControl::getEnableViewState()
> TControl::getHasAdapter()
> TControl::getHasAttributes()
> TControl::getHasChildInitialized()
> TControl::getHasControls()
> TControl::getHasInitialized()
> TControl::getHasLoaded()
> TControl::getHasLoadedPostData()
> TControl::getHasPreRendered()
> TControl::getID()
> TControl::getNamingContainer()
> TControl::getPage()
> TControl::getParent()
> TControl::getRegisteredObject()
> TControl::getSkinID()
> TControl::getSourceTemplateControl()
> TControl::getTemplateControl()
> TControl::getUniqueID()
> TControl::getViewState()
> TControl::getVisible()
> TControl::hasAttribute()
> TControl::initRecursive()
> TControl::isDescendentOf()
> TControl::isObjectRegistered()
> TControl::loadRecursive()
> TControl::loadState()
> TControl::loadStateRecursive()
> TControl::onDataBinding()
> TControl::onInit()
> TControl::onLoad()
> TControl::onPreRender()
> TControl::onUnload()
> TControl::preRenderRecursive()
> TControl::raiseBubbleEvent()
> TControl::registerObject()
> TControl::removeAttribute()
> TControl::removedControl()
> TControl::render()
> TControl::renderChildren()
> TControl::renderControl()
> TControl::saveState()
> TControl::saveStateRecursive()
> TControl::setAdapter()
> TControl::setAttribute()
> TControl::setChildControlsCreated()
> TControl::setControlStage()
> TControl::setControlState()
> TControl::setCustomData()
> TControl::setEnabled()
> TControl::setEnableTheming()
> TControl::setEnableViewState()
> TControl::setID()
> TControl::setPage()
> TControl::setSkinID()
> TControl::setTemplateControl()
> TControl::setViewState()
> TControl::setVisible()
> TControl::trackViewState()
> TControl::traverseChildControls()
> TControl::unbindProperty()
> TControl::unloadRecursive()
> TControl::unregisterObject()
> TControl::__get()

Inherited From TApplicationComponent

> TApplicationComponent::getApplication()
> TApplicationComponent::getRequest()
> TApplicationComponent::getResponse()
> TApplicationComponent::getService()
> TApplicationComponent::getSession()
> TApplicationComponent::getUser()
> TApplicationComponent::publishAsset()
> TApplicationComponent::publishFilePath()

Inherited From TComponent

> TComponent::addParsedObject()
> TComponent::attachEventHandler()
> TComponent::canGetProperty()
> TComponent::canSetProperty()
> TComponent::createdOnTemplate()
> TComponent::detachEventHandler()
> TComponent::evaluateExpression()
> TComponent::evaluateStatements()
> TComponent::getEventHandlers()
> TComponent::getSubProperty()
> TComponent::hasEvent()
> TComponent::hasEventHandler()
> TComponent::hasProperty()
> TComponent::raiseEvent()
> TComponent::setSubProperty()
> TComponent::__get()
> TComponent::__set()

Class Constants

#### Inherited Constants

Inherited from TControl

> TControl::AUTOMATIC_ID_PREFIX
> TControl::CLIENT_ID_SEPARATOR
> TControl::CS_CHILD_INITIALIZED
> TControl::CS_CONSTRUCTED
> TControl::CS_INITIALIZED
> TControl::CS_LOADED
> TControl::CS_PRERENDERED
> TControl::CS_STATE_LOADED
> TControl::ID_FORMAT
> TControl::ID_SEPARATOR
> TControl::IS_CHILD_CREATED
> TControl::IS_CREATING_CHILD
> TControl::IS_DISABLE_THEMING
> TControl::IS_DISABLE_VIEWSTATE
> TControl::IS_ID_SET
> TControl::IS_SKIN_APPLIED
> TControl::IS_STYLESHEET_APPLIED
> TControl::RF_ADAPTER
> TControl::RF_AUTO_BINDINGS
> TControl::RF_CHILD_STATE
> TControl::RF_CONTROLS
> TControl::RF_CONTROLSTATE
> TControl::RF_DATA_BINDINGS
> TControl::RF_EVENTS
> TControl::RF_NAMED_CONTROLS
> TControl::RF_NAMED_CONTROLS_ID
> TControl::RF_NAMED_OBJECTS
> TControl::RF_SKIN_ID

Documentation generated on Mon, 22 Feb 2010 12:17:10 +0000 by phpDocumentor 1.3.0RC4