Spec-Zone.ru › Yii 1.1

CBreadcrumbs

Пакет zii.widgets
Наследование class CBreadcrumbs » CWidget » CBaseController » CComponent
С момента 1.1
Исходный код framework/zii/widgets/CBreadcrumbs.php
CBreadcrumbs отображает список ссылок, показывающих позицию текущей страницы на сайте.

Например, хлебные крошки «Главная > Пример статьи > Редактировать» означают, что пользователь просматривает страницу редактирования статьи «Пример статьи». Пользователь может нажать на «Пример статьи», чтобы перейти на эту страницу, или на «Главная», чтобы вернуться на главную страницу.

Для использования CBreadcrumbs, обычно необходимо настроить свойство links, которое указывает ссылки для отображения. Например,

$this->widget('zii.widgets.CBreadcrumbs', array(
    'links'=>array(
        'Sample post'=>array('post/view', 'id'=>12),
        'Edit',
    ),
));


Так как хлебные крошки обычно отображаются почти на каждой странице сайта, лучше разместить этот виджет в макете представления. Можно определить свойство «breadcrumbs» в базовом классе контроллера и назначить его виджету в макете, как показано ниже:

$this->widget('zii.widgets.CBreadcrumbs', array(
    'links'=>$this->breadcrumbs,
));


Затем, в каждом сценарии представления, нужно назначить свойство «breadcrumbs» по мере необходимости.

Общественные свойства

Свойство Тип Описание Определено в
actionPrefix строка префикс к идентификаторам действий. CWidget
activeLinkTemplate строка Строка, определяющая, как отображается каждый активный элемент. CBreadcrumbs
controller CController Возвращает контроллер, к которому принадлежит этот виджет. CWidget
encodeLabel булево указывает, следует ли кодировать метки ссылок в HTML. CBreadcrumbs
homeLink строка первая гиперссылка в хлебных крошках (называемая домашней ссылкой). CBreadcrumbs
htmlOptions массив HTML-атрибуты для тега контейнера хлебных крошек. CBreadcrumbs
id строка Возвращает идентификатор виджета или генерирует новый, если запрошено. CWidget
inactiveLinkTemplate строка Строка, определяющая, как отображается каждый неактивный элемент. CBreadcrumbs
links массив список гиперссылок, которые должны появиться в хлебных крошках. CBreadcrumbs
owner CBaseController Возвращает владельца/создателя этого виджета. CWidget
separator строка разделитель между ссылками в хлебных крошках. CBreadcrumbs
skin смешанное название скина, используемого этим виджетом. CWidget
tagName строка имя тега для контейнера хлебных крошек. CBreadcrumbs
viewPath строка Возвращает директорию, содержащую файлы представлений для этого виджета. CWidget

Общедоступные методы

Метод Описание Определено в
__call() Вызывает метод с указанным именем, который не является методом класса. CComponent
__construct() Конструктор. CWidget
__get() Возвращает значение свойства, список обработчиков событий или поведение по его имени. CComponent
__isset() Проверяет, является ли значение свойства нулевым. 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() Возвращает идентификатор виджета или генерирует новый, если это необходимо. CWidget
getOwner() Возвращает владельца/создателя этого виджета. CWidget
getViewFile() Ищет файл сценария представления в соответствии с именем представления. CWidget
getViewPath() Возвращает каталог, содержащий файлы представлений для этого виджета. CWidget
hasEvent() Определяет, определено ли событие. CComponent
hasEventHandler() Проверяет, имеются ли присоединённые обработчики для события с указанным именем. CComponent
hasProperty() Определяет, определено ли свойство. CComponent
init() Инициализирует виджет. CWidget
raiseEvent() Вызывает событие. CComponent
render() Отображает представление. CWidget
renderFile() Отображает файл представления. CBaseController
renderInternal() Отображает файл представления. CBaseController
run() Отображает содержимое виджета. CBreadcrumbs
setId() Устанавливает идентификатор виджета. CWidget
widget() Создаёт виджет и выполняет его. CBaseController

Подробное описание свойств

activeLinkTemplate свойство (доступно с v1.1.11)

public string $activeLinkTemplate;

Строка, определяющая, как отображается каждый активный элемент. По умолчанию "{label}", где "{label}" будет заменён соответствующим меткой элемента, а "{url}" - URL элемента.

encodeLabel свойство

public boolean $encodeLabel;

необходимо ли кодировать метки ссылок в HTML. По умолчанию true.

homeLink свойство

public string $homeLink;

первая гиперссылка в хлебных крошках (называемая домашней ссылкой). Если это свойство не установлено, оно по умолчанию ссылается на CWebApplication::homeUrl с меткой «Домой». Если это свойство ложно, домашняя ссылка не будет отображаться.

htmlOptions свойство

public array $htmlOptions;

атрибуты HTML для тега контейнера хлебных крошек.

inactiveLinkTemplate свойство (доступно с v1.1.11)

public string $inactiveLinkTemplate;

Строка, определяющая, как отображается каждый неактивный элемент. По умолчанию "{label}", где "{label}" заменяется соответствующей меткой элемента. Обратите внимание, что в неактивном шаблоне параметра "{url}" нет.

links свойство

public array $links;

Список гиперссылок, которые должны отображаться в хлебных крошках. Если этот параметр пустой, виджет ничего не отобразит. Каждая пара "ключ-значение" в массиве будет использоваться для создания гиперссылки с помощью вызова CHtml::link(ключ, значение). Таким образом, ключ относится к метке ссылки, а значение может быть строкой или массивом (используется для создания URL). Для более подробной информации, пожалуйста, обратитесь к CHtml::link. Если ключ элемента — целое число, это означает, что элемент будет отображаться только как метка (означает текущую страницу).

Следующий пример сгенерирует хлебные крошки как "Главная > Пример статьи > Редактировать", где "Главная" указывает на домашнюю страницу, "Пример статьи" указывает на страницу "index.php?r=post/view&id=12", а "Редактировать" — это метка. Обратите внимание, что ссылка "Главная" указана отдельно через homeLink.

array(
    'Sample post'=>array('post/view', 'id'=>12),
    'Edit',
)

разделитель свойство

public string $separator;

разделитель между ссылками в хлебных крошках. По умолчанию ' » '.

имяТега свойство

public string $tagName;

имя тега для контейнера хлебных крошек. По умолчанию 'div'.

Подробное описание методов

run() метод

public void run()
Исходный код: framework/zii/widgets/CBreadcrumbs.php#108 (показать)
public function run()
{
    if(empty(
$this->links))
        return;

    
$definedLinks = $this->links;

    echo 
CHtml::openTag($this->tagName,$this->htmlOptions)."\n";
    
$links=array();
    if(
$this->homeLink===null)
        
$definedLinks=array(Yii::t('zii','Home') => Yii::app()->homeUrl)+$definedLinks;
    elseif(
$this->homeLink!==false)
        
$links[]=$this->homeLink;
    foreach(
$definedLinks as $label=>$url)
    {
        if(
is_string($label) || is_array($url))
            
$links[]=strtr($this->activeLinkTemplate,array(
                
'{url}'=>CHtml::normalizeUrl($url),
                
'{label}'=>$this->encodeLabel ? CHtml::encode($label) : $label,
            ));
        else
            
$links[]=str_replace('{label}',$this->encodeLabel ? CHtml::encode($url) : $url,$this->inactiveLinkTemplate);
    }
    echo 
implode($this->separator,$links);
    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/CBreadcrumbs

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API