Spec-Zone.ru › Yii 2.0

Класс yii\widgets\DetailView

Все классы | Свойства | Методы | События
Наследование yii\widgets\DetailView » yii\base\Widget » yii\base\Component » yii\base\Object
Реализует yii\base\Configurable, yii\base\ViewContextInterface
Доступно с версии 2.0
Исходный код https://github.com/yiisoft/yii2/blob/master/framework/widgets/DetailView.php

DetailView отображает детали одного элемента данных $model.

DetailView лучше всего использовать для отображения модели в стандартном формате (например, каждый атрибут модели отображается как строка в таблице.) Модель может быть экземпляром yii\base\Model или ассоциативным массивом.

DetailView использует свойство $attributes для определения, какие атрибуты модели должны быть отображены и как они должны быть отформатированы.

Типичное использование DetailView выглядит следующим образом:

echo DetailView::widget([
    'model' => $model,
    'attributes' => [
        'title',               // title attribute (in plain text)
        'description:html',    // description attribute in HTML
        [                      // the owner name of the model
            'label' => 'Owner',
            'value' => $model->owner->name,
        ],
        'created_at:datetime', // creation date formatted as datetime
    ],
]);

Для получения более подробной информации и руководства по использованию DetailView, ознакомьтесь со статьей руководства по виджетам вывода данных.

Публичные свойства

Свойство Тип Описание Определено в
$attributes массив Список атрибутов, которые будут отображаться в представлении деталей. yii\widgets\DetailView
$autoIdPrefix строка Префикс для автоматически сгенерированных идентификаторов виджета. yii\base\Widget
$behaviors yii\base\Behavior[] Список поведений, прикрепленных к этому компоненту yii\base\Component
$counter целое число Счетчик, используемый для генерации $id для виджетов. yii\base\Widget
$formatter массив|yii\i18n\Formatter Форматтер, используемый для форматирования значений атрибутов модели в отображаемые тексты. yii\widgets\DetailView
$id строка Идентификатор виджета. yii\base\Widget
$model массив|объект Модель данных, чьи детали будут отображены. yii\widgets\DetailView
$options массив Атрибуты HTML для тега контейнера этого виджета. yii\widgets\DetailView
$stack yii\base\Widget[] Виджеты, которые в настоящее время отображаются (не завершены). yii\base\Widget
$template строка|вызываемый объект Шаблон, используемый для отображения отдельного атрибута. yii\widgets\DetailView
$view yii\web\View Объект представления, который может быть использован для отображения представлений или файлов представлений. yii\base\Widget
$viewPath строка Директория, содержащая файлы представлений для этого виджета. yii\base\Widget

Публичные методы

Метод Описание Определено в
__call() Вызывает метод, который не является методом класса. yii\base\Object
__clone() Этот метод вызывается после создания объекта путём клонирования существующего. yii\base\Component
__construct() Конструктор. yii\base\Object
__get() Возвращает значение свойства объекта. yii\base\Object
__isset() Проверяет, установлено ли свойство, т. е. определено и не равно null. yii\base\Object
__set() Устанавливает значение свойства объекта. yii\base\Object
__unset() Устанавливает свойство объекта в значение null. yii\base\Object
afterRun() Этот метод вызывается сразу после выполнения виджета. yii\base\Widget
attachBehavior() Присоединяет поведение к данному компоненту. yii\base\Component
attachBehaviors() Присоединяет список поведений к компоненту. yii\base\Component
beforeRun() Этот метод вызывается сразу перед выполнением виджета. yii\base\Widget
begin() Начинает работу виджета. yii\base\Widget
behaviors() Возвращает список поведений, по которым должен вести себя этот компонент. yii\base\Component
canGetProperty() Возвращает значение, указывающее, можно ли считать свойство. yii\base\Object
canSetProperty() Возвращает значение, указывающее, можно ли установить свойство. yii\base\Object
className() Возвращает полное имя этого класса. yii\base\Object
detachBehavior() Отсоединяет поведение от компонента. yii\base\Component
detachBehaviors() Отсоединяет все поведения от компонента. yii\base\Component
end() Завершает работу виджета. yii\base\Widget
ensureBehaviors() Убеждается, что поведения, объявленные в behaviors(), прикреплены к этому компоненту. yii\base\Component
getBehavior() Возвращает объект поведения с заданным именем. yii\base\Component
getBehaviors() Возвращает все прикреплённые к этому компоненту поведения. yii\base\Component
getId() Возвращает идентификатор виджета. yii\base\Widget
getView() Возвращает объект представления, который можно использовать для рендеринга представлений или файлов представления. yii\base\Widget
getViewPath() Возвращает каталог, содержащий файлы представления для этого виджета. yii\base\Widget
hasEventHandlers() Возвращает значение, указывающее, есть ли обработчики, прикрепленные к заданному событию. yii\base\Component
hasMethod() Возвращает значение, указывающее, определён ли метод. yii\base\Object
hasProperty() Возвращает значение, указывающее, определено ли свойство. yii\base\Object
init() Инициализирует представление детали. yii\widgets\DetailView
off() Отсоединяет существующего обработчика событий от этого компонента. yii\base\Component
on() Присоединяет обработчик событий к событию. yii\base\Component
render() Рендерит представление. yii\base\Widget
renderFile() Рендерит файл представления. yii\base\Widget
run() Рендерит представление детали. yii\widgets\DetailView
setId() Устанавливает идентификатор виджета. yii\base\Widget
setView() Устанавливает объект представления, который будет использоваться этим виджетом. yii\base\Widget
trigger() Вызывает событие. yii\base\Component
widget() Создаёт экземпляр виджета и запускает его. yii\base\Widget

Защищённые методы

Метод Описание Определено в
normalizeAttributes() Нормализует спецификации атрибутов. yii\widgets\DetailView
renderAttribute() Рендерит один атрибут. yii\widgets\DetailView

События

Событие Тип Описание Определено в
EVENT_AFTER_RUN yii\base\WidgetEvent Событие, поднимаемое сразу после выполнения виджета. (доступно начиная с версии 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent Событие, поднимаемое сразу перед выполнением виджета. (доступно начиная с версии 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event Событие, которое срабатывает при инициализации виджета через init(). (доступно начиная с версии 2.0.11) yii\base\Widget

Подробности свойств

$attributes public property

Список атрибутов, которые должны отображаться в представлении детали. Каждый элемент массива представляет собой спецификацию для отображения одного конкретного атрибута.

Атрибут может быть указан как строка в формате attribute, attribute:format или attribute:format:label, где attribute относится к имени атрибута, а format представляет формат атрибута. format передаётся методу yii\i18n\Formatter::format() для форматирования значения атрибута в отображаемый текст. Обратитесь к yii\i18n\Formatter за поддержанными типами. Как format, так и label являются необязательными. Они примут значения по умолчанию, если отсутствуют.

Атрибут также может быть указан в виде массива со следующими элементами:

  • attribute: имя атрибута. Требуется, если не указано ни label, ни value.
  • label: метка, связанная с атрибутом. Если не указана, она будет сгенерирована из имени атрибута.
  • value: значение, подлежащее отображению. Если не указано, оно будет извлечено из $model с использованием имени атрибута, вызывая yii\helpers\ArrayHelper::getValue(). Обратите внимание, что это значение будет отформатировано в отображаемый текст в соответствии с опцией format. Начиная с версии 2.0.11, оно может быть определено как замыкание со следующими параметрами:

    function ($model, $widget)
    

    $model относится к отображаемой модели, а $widget — это экземпляр виджета DetailView.

  • format: тип значения, определяющий, как значение будет отформатировано в отображаемый текст. Обратитесь к yii\i18n\Formatter за информацией о поддерживаемых типах.
  • visible: отображается ли атрибут. Если установлено в false, атрибут НЕ будет отображён.
  • contentOptions: HTML-атрибуты для настройки тега значения. Например: ['class' => 'bg-red']. Обратитесь к yii\helpers\BaseHtml::renderTagAttributes() за информацией о поддерживаемом синтаксисе.
  • captionOptions: HTML-атрибуты для настройки тега метки. Например: ['class' => 'bg-red']. Обратитесь к yii\helpers\BaseHtml::renderTagAttributes() за информацией о поддерживаемом синтаксисе.
public array $attributes = null

$formatter свойство public

Форматировщик, используемый для форматирования значений атрибутов модели в отображаемые тексты. Это может быть либо экземпляр yii\i18n\Formatter, либо массив настроек для создания экземпляра yii\i18n\Formatter. Если это свойство не установлено, будет использован компонент приложения formatter.

public array|yii\i18n\Formatter $formatter = null

$model свойство public

Модель данных, подробности которой должны быть отображены. Это может быть экземпляр yii\base\Model, ассоциативный массив, объект, реализующий интерфейс yii\base\Arrayable, или просто объект с определенными общедоступными (public) доступными нестатическими свойствами.

public array|object $model = null

$options свойство public

HTML-атрибуты для тега контейнера этого виджета. Опция tag задаёт тег контейнера, который следует использовать. По умолчанию, если не задано, используется table.

См. также yii\helpers\Html::renderTagAttributes() для получения подробностей о том, как рендерятся атрибуты.

public array $options = ['class' => 'table table-striped table-bordered detail-view']

$template свойство public

Шаблон, используемый для отображения отдельного атрибута. Если строка, токены {label} и {value} будут заменены меткой и значением соответствующего атрибута. Если обратный вызов (например, анонимная функция), сигнатура должна быть следующей:

function ($attribute, $index, $widget)

где $attribute относится к спецификации отображаемого атрибута, $index — нулевой индекс атрибута в массиве $attributes, а $widget — экземпляр этого виджета.

Начиная с версии 2.0.10, доступны токены {captionOptions} и {contentOptions}, которые будут представлять HTML-атрибуты HTML-контейнерных элементов для метки и значения.

public string|callable $template = '<tr><th{captionOptions}>{label}</th><td{contentOptions}>{value}</td></tr>'

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

init() метод public

Инициализирует просмотр деталей.

Этот метод инициализирует необходимые значения свойств.

public void init ( )

normalizeAttributes() защищённый метод

Нормализует спецификации атрибутов.

protected void normalizeAttributes ( )
throws yii\base\InvalidConfigException

renderAttribute() защищённый метод

Отображает один атрибут.

protected string renderAttribute ( $attribute, $index )
$attribute array

Спецификация атрибута для отображения.

$index integer

Нулевой индекс атрибута в массиве $attributes

return string

Результат отображения

run() метод public

Отображает просмотр деталей.

Это основной вход для всего рендеринга просмотра деталей.

public void run ( )

© 2008–2017 by Yii Software LLC
Licensed under the three clause BSD license.
http://www.yiiframework.com/doc-2.0/yii-widgets-detailview.html

Spec-Zone.ru

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