On this page
CPortlet
| Package | zii.widgets |
|---|---|
| Inheritance | class CPortlet » CWidget » CBaseController » CComponent |
| Since | 1.1 |
| Source Code | framework/zii/widgets/CPortlet.php |
A portlet displays a fragment of content, usually in terms of a block on the side bars of a Web page.
To specify the content of the portlet, override the renderContent method, or insert the content code between the CController::beginWidget and CController::endWidget calls. For example,
<?php $this->beginWidget('zii.widgets.CPortlet'); ?>
...insert content here...
<?php $this->endWidget(); ?>
A portlet also has an optional title. One may also override renderDecoration to further customize the decorative display of a portlet (e.g. adding min/max buttons).
Public Properties
| Property | Type | Description | Defined By |
|---|---|---|---|
| actionPrefix | string | the prefix to the IDs of the actions. | CWidget |
| contentCssClass | string | the CSS class for the content container tag. | CPortlet |
| controller | CController | Returns the controller that this widget belongs to. | CWidget |
| decorationCssClass | string | the CSS class for the decoration container tag. | CPortlet |
| hideOnEmpty | boolean | whether to hide the portlet when the body content is empty. | CPortlet |
| htmlOptions | array | the HTML attributes for the portlet container tag. | CPortlet |
| id | string | Returns the ID of the widget or generates a new one if requested. | CWidget |
| owner | CBaseController | Returns the owner/creator of this widget. | CWidget |
| skin | mixed | the name of the skin to be used by this widget. | CWidget |
| tagName | string | the tag name for the portlet container tag. | CPortlet |
| title | string | the title of the portlet. | CPortlet |
| titleCssClass | string | the CSS class for the portlet title tag. | CPortlet |
| viewPath | string | Returns the directory containing the view files for this widget. | CWidget |
Public Methods
| Method | Description | Defined By |
|---|---|---|
| __call() | Calls the named method which is not a class method. | CComponent |
| __construct() | Constructor. | CWidget |
| __get() | Returns a property value, an event handler list or a behavior based on its name. | CComponent |
| __isset() | Checks if a property value is null. | CComponent |
| __set() | Sets value of a component property. | CComponent |
| __unset() | Sets a component property to be null. | CComponent |
| actions() | Returns a list of actions that are used by this widget. | CWidget |
| asa() | Returns the named behavior object. | CComponent |
| attachBehavior() | Attaches a behavior to this component. | CComponent |
| attachBehaviors() | Attaches a list of behaviors to the component. | CComponent |
| attachEventHandler() | Attaches an event handler to an event. | CComponent |
| beginCache() | Begins fragment caching. | CBaseController |
| beginClip() | Begins recording a clip. | CBaseController |
| beginContent() | Begins the rendering of content that is to be decorated by the specified view. | CBaseController |
| beginWidget() | Creates a widget and executes it. | CBaseController |
| canGetProperty() | Determines whether a property can be read. | CComponent |
| canSetProperty() | Determines whether a property can be set. | CComponent |
| createWidget() | Creates a widget and initializes it. | CBaseController |
| detachBehavior() | Detaches a behavior from the component. | CComponent |
| detachBehaviors() | Detaches all behaviors from the component. | CComponent |
| detachEventHandler() | Detaches an existing event handler. | CComponent |
| disableBehavior() | Disables an attached behavior. | CComponent |
| disableBehaviors() | Disables all behaviors attached to this component. | CComponent |
| enableBehavior() | Enables an attached behavior. | CComponent |
| enableBehaviors() | Enables all behaviors attached to this component. | CComponent |
| endCache() | Ends fragment caching. | CBaseController |
| endClip() | Ends recording a clip. | CBaseController |
| endContent() | Ends the rendering of content. | CBaseController |
| endWidget() | Ends the execution of the named widget. | CBaseController |
| evaluateExpression() | Evaluates a PHP expression or callback under the context of this component. | CComponent |
| getController() | Returns the controller that this widget belongs to. | CWidget |
| getEventHandlers() | Returns the list of attached event handlers for an event. | CComponent |
| getId() | Returns the ID of the widget or generates a new one if requested. | CWidget |
| getOwner() | Returns the owner/creator of this widget. | CWidget |
| getViewFile() | Looks for the view script file according to the view name. | CWidget |
| getViewPath() | Returns the directory containing the view files for this widget. | CWidget |
| hasEvent() | Determines whether an event is defined. | CComponent |
| hasEventHandler() | Checks whether the named event has attached handlers. | CComponent |
| hasProperty() | Determines whether a property is defined. | CComponent |
| init() | Initializes the widget. | CPortlet |
| raiseEvent() | Raises an event. | CComponent |
| render() | Renders a view. | CWidget |
| renderFile() | Renders a view file. | CBaseController |
| renderInternal() | Renders a view file. | CBaseController |
| run() | Renders the content of the portlet. | CPortlet |
| setId() | Sets the ID of the widget. | CWidget |
| widget() | Creates a widget and executes it. | CBaseController |
Protected Methods
| Method | Description | Defined By |
|---|---|---|
| renderContent() | Renders the content of the portlet. | CPortlet |
| renderDecoration() | Renders the decoration for the portlet. | CPortlet |
Property Details
contentCssClass property
public string $contentCssClass;
the CSS class for the content container tag. Defaults to 'portlet-content'.
decorationCssClass property
public string $decorationCssClass;
the CSS class for the decoration container tag. Defaults to 'portlet-decoration'.
hideOnEmpty property (available since v1.1.4)
public boolean $hideOnEmpty;
whether to hide the portlet when the body content is empty. Defaults to true.
htmlOptions property
public array $htmlOptions;
the HTML attributes for the portlet container tag.
tagName property
public string $tagName;
the tag name for the portlet container tag. Defaults to 'div'.
title property
public string $title;
the title of the portlet. Defaults to null. When this is not set, Decoration will not be displayed. Note that the title will not be HTML-encoded when rendering.
titleCssClass property
public string $titleCssClass;
the CSS class for the portlet title tag. Defaults to 'portlet-title'.
Method Details
init() method
|
public function init()
{
ob_start();
ob_implicit_flush(false);
if(isset($this->htmlOptions['id']))
$this->id=$this->htmlOptions['id'];
else
$this->htmlOptions['id']=$this->id;
echo CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
$this->renderDecoration();
echo "<div class=\"{$this->contentCssClass}\">\n";
$this->_openTag=ob_get_contents();
ob_clean();
}
Initializes the widget. This renders the open tags needed by the portlet. It also renders the decoration, if any.
renderContent() method
|
Renders the content of the portlet. Child classes should override this method to render the actual content.
renderDecoration() method
|
protected function renderDecoration()
{
if($this->title!==null)
{
echo "<div class=\"{$this->decorationCssClass}\">\n";
echo "<div class=\"{$this->titleCssClass}\">{$this->title}</div>\n";
echo "</div>\n";
}
}
Renders the decoration for the portlet. The default implementation will render the title if it is set.
run() method
|
public function run()
{
$this->renderContent();
$content=ob_get_clean();
if($this->hideOnEmpty && trim($content)==='')
return;
echo $this->_openTag;
echo $content;
echo "</div>\n";
echo CHtml::closeTag($this->tagName);
}
Renders the content of the portlet.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CPortlet