CPortlet
| Пакет | zii.widgets |
|---|---|
| Наследование | class CPortlet » CWidget » CBaseController » CComponent |
| С момента | 1.1 |
| Исходный код | framework/zii/widgets/CPortlet.php |
Портлет отображает фрагмент контента, обычно в виде блока на боковых панелях веб-страницы.
Чтобы указать содержимое портлета, переопределите метод renderContent или вставьте код содержимого между вызовами CController::beginWidget и CController::endWidget. Например,
<?php $this->beginWidget('zii.widgets.CPortlet'); ?>
...insert content here...
<?php $this->endWidget(); ?>
Портлет также может иметь необязательный заголовок title. Вы также можете переопределить renderDecoration, чтобы дополнительно настроить декоративное отображение портлета (например, добавив кнопки мини/максимизации).
Свойства
| Свойство | Тип | Описание | Определено |
|---|---|---|---|
| actionPrefix | string | префикс к идентификаторам действий. | CWidget |
| contentCssClass | string | CSS-класс для тега контейнера содержимого. | CPortlet |
| controller | CController | Возвращает контроллер, к которому относится этот виджет. | CWidget |
| decorationCssClass | string | CSS-класс для тега контейнера декорации. | CPortlet |
| hideOnEmpty | boolean | скрывать портлет, если содержимое пустое. | CPortlet |
| htmlOptions | array | HTML-атрибуты для тега контейнера портлета. | CPortlet |
| id | string | Возвращает ID виджета или генерирует новый, если требуется. | CWidget |
| owner | CBaseController | Возвращает владельца/создателя этого виджета. | CWidget |
| skin | mixed | имя скина, используемого этим виджетом. | CWidget |
| tagName | string | имя тега для тега контейнера портлета. | CPortlet |
| title | string | заголовок портлета. | CPortlet |
| titleCssClass | string | CSS-класс для тега заголовка портлета. | CPortlet |
| viewPath | string | Возвращает каталог, содержащий файлы представления для этого виджета. | CWidget |
Общедоступные методы
| Метод | Описание | Определено в |
|---|---|---|
| __call() | Вызывает именованный метод, который не является методом класса. | CComponent |
| __construct() | Конструктор. | CWidget |
| __get() | Возвращает значение свойства, список обработчиков событий или поведение на основе его имени. | CComponent |
| __isset() | Проверяет, является ли значение свойства null. | CComponent |
| __set() | Устанавливает значение свойства компонента. | CComponent |
| __unset() | Устанавливает свойство компонента в значение null. | CComponent |
| actions() | Возвращает список действий, используемых этим виджетом. | CWidget |
| asa() | Возвращает объект поведения с заданным именем. | CComponent |
| attachBehavior() | Присоединяет поведение к этому компоненту. | CComponent |
| attachBehaviors() | Присоединяет список поведений к компоненту. | CComponent |
| attachEventHandler() | Присоединяет обработчик событий к событию. | CComponent |
| beginCache() | Начинает фрагментацию кэширования. | CBaseController |
| beginClip() | Начинает запись клипа. | CBaseController |
| beginContent() | Начинает отображение содержимого, которое должно быть оформлено указанным представлением. | CBaseController |
| beginWidget() | Создаёт виджет и выполняет его. | CBaseController |
| canGetProperty() | Определяет, можно ли прочитать свойство. | CComponent |
| canSetProperty() | Определяет, можно ли установить свойство. | CComponent |
| createWidget() | Создаёт виджет и инициализирует его. | CBaseController |
| detachBehavior() | Отсоединяет поведение от компонента. | CComponent |
| detachBehaviors() | Отсоединяет все поведения от компонента. | CComponent |
| detachEventHandler() | Отсоединяет существующий обработчик событий. | CComponent |
| disableBehavior() | Отключает присоединённое поведение. | CComponent |
| disableBehaviors() | Отключает все присоединённые поведения к этому компоненту. | CComponent |
| enableBehavior() | Включает присоединённое поведение. | CComponent |
| enableBehaviors() | Включает все присоединённые поведения к этому компоненту. | CComponent |
| endCache() | Завершает фрагментацию кэширования. | CBaseController |
| endClip() | Завершает запись клипа. | CBaseController |
| endContent() | Завершает отображение содержимого. | CBaseController |
| endWidget() | Завершает выполнение именованного виджета. | CBaseController |
| evaluateExpression() | Вычисляет выражение PHP или обратный вызов в контексте этого компонента. | CComponent |
| getController() | Возвращает контроллер, к которому принадлежит этот виджет. | CWidget |
| getEventHandlers() | Возвращает список присоединённых обработчиков событий для события. | CComponent |
| getId() | Возвращает ID виджета или генерирует новый, если запрошено. | CWidget |
| getOwner() | Возвращает владельца/создателя этого виджета. | CWidget |
| getViewFile() | Ищет файл сценария представления в соответствии с именем представления. | CWidget |
| getViewPath() | Возвращает директорию, содержащую файлы представлений для этого виджета. | CWidget |
| hasEvent() | Определяет, определено ли событие. | CComponent |
| hasEventHandler() | Проверяет, есть ли присоединённые обработчики к указанному событию. | CComponent |
| hasProperty() | Определяет, определено ли свойство. | CComponent |
| init() | Инициализирует виджет. | CPortlet |
| raiseEvent() | Вызывает событие. | CComponent |
| render() | Отображает представление. | CWidget |
| renderFile() | Отображает файл представления. | CBaseController |
| renderInternal() | Отображает файл представления. | CBaseController |
| run() | Отображает содержимое виджета. | CPortlet |
| setId() | Устанавливает ID виджета. | CWidget |
| widget() | Создаёт виджет и выполняет его. | CBaseController |
Защищённые методы
| Метод | Описание | Определено в |
|---|---|---|
| renderContent() | Отображает содержимое виджета. | CPortlet |
| renderDecoration() | Отображает оформление для виджета. | CPortlet |
Подробное описание свойств
contentCssClass свойство
public string $contentCssClass;
класс CSS для тега контейнера содержимого. По умолчанию 'portlet-content'.
decorationCssClass свойство
public string $decorationCssClass;
класс CSS для тега контейнера оформления. По умолчанию 'portlet-decoration'.
hideOnEmpty свойство (доступно с версии v1.1.4)
public boolean $hideOnEmpty;
скрывать виджет, когда содержимое пусто. По умолчанию true.
htmlOptions свойство
public array $htmlOptions;
атрибуты HTML для тега контейнера виджета.
tagName свойство
public string $tagName;
имя тега для контейнера виджета. По умолчанию 'div'.
title свойство
public string $title;
Заголовок виджета. По умолчанию null. Если не задан, декорирование не будет отображаться. Обратите внимание, что заголовок не будет кодироваться HTML при отображении.
titleCssClass свойство
public string $titleCssClass;
CSS класс для тега заголовка виджета. По умолчанию 'portlet-title'.
Подробное описание методов
init() метод
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();
}
Инициализирует виджет. Это отображает открывающие теги, необходимые для виджета. Также отображает декорирование, если оно есть.
renderContent() метод
protected void renderContent() |
protected function renderContent()
{
}
Отображает содержимое виджета. Подклассы должны переопределять этот метод, чтобы отобразить фактическое содержимое.
renderDecoration() метод
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";
}
}
Отображает декорирование для виджета. По умолчанию отображает заголовок, если он задан.
run() метод
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);
}
Отображает содержимое виджета.
© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc/api/1.1/CPortlet