CPortlet
包 | zii.widgets |
---|---|
继承 | class CPortlet » CWidget » CBaseController » CComponent |
可用自 | 1.1 |
源码 | 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).
公共属性
属性 | 类型 | 描述 | 被定义在 |
---|---|---|---|
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 |
公共方法
方法 | 描述 | 被定义在 |
---|---|---|
__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 |
受保护的方法
方法 | 描述 | 被定义在 |
---|---|---|
renderContent() | Renders the content of the portlet. | CPortlet |
renderDecoration() | Renders the decoration for the portlet. | CPortlet |
属性详情
the CSS class for the content container tag. Defaults to 'portlet-content'.
the CSS class for the decoration container tag. Defaults to 'portlet-decoration'.
whether to hide the portlet when the body content is empty. Defaults to true.
the HTML attributes for the portlet container tag.
the tag name for the portlet container tag. Defaults to 'div'.
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.
the CSS class for the portlet title tag. Defaults to 'portlet-title'.
方法详情
public void init()
|
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.
protected void renderContent()
|
Renders the content of the portlet. Child classes should override this method to render the actual content.
protected void renderDecoration()
|
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.
public void run()
|
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.