Spec-Zone.ru › Yii 2.0

Класс yii\widgets\Pjax

Все классы | Свойства | Методы | События
Наследование yii\widgets\Pjax » 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/Pjax.php

Pjax — это виджет, интегрирующий плагин jQuery pjax.

Pjax работает только с содержимым, заключённым между вызовами begin() и end(), называемым содержимым тела виджета. По умолчанию, любой клик по ссылке или отправка формы (для форм с атрибутом data-pjax ) внутри содержимого тела будет запускать AJAX-запрос. В ответ на AJAX-запрос Pjax отправит обновлённое содержимое тела (на основе AJAX-запроса) клиенту, который заменит старое содержимое новым. Адрес браузера затем будет обновлён с помощью pushState. Весь процесс не требует перезагрузки макета или ресурсов (js, css).

Вы можете настроить $linkSelector для указания, какие ссылки должны запускать pjax, и настроить $formSelector для указания, какая отправка форм может запускать pjax.

Вы можете отключить pjax для определённой ссылки внутри контейнера, добавив атрибут data-pjax="0" к этой ссылке.

Следующий пример показывает, как использовать Pjax с виджетом yii\grid\GridView, чтобы постраничная навигация, сортировка и фильтрация грида могли выполняться с помощью pjax:

use yii\widgets\Pjax;

Pjax::begin();
echo GridView::widget([...]);
Pjax::end();

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

Свойство Тип Описание Определено в
$autoIdPrefix string Префикс к автоматически сгенерированным идентификаторам виджета. yii\widgets\Pjax
$behaviors yii\base\Behavior[] Список поведений, прикреплённых к этому компоненту yii\base\Component
$clientOptions array Дополнительные параметры, передаваемые плагину pjax JS. yii\widgets\Pjax
$counter integer Счётчик, используемый для генерации $id для виджетов. yii\widgets\Pjax
$enablePushState boolean Включить ли push state. yii\widgets\Pjax
$enableReplaceState boolean Включить ли replace state. yii\widgets\Pjax
$formSelector string|false jQuery селектор форм, отправка которых должна запускать pjax запросы. yii\widgets\Pjax
$id string Идентификатор виджета. yii\base\Widget
$linkSelector string|false jQuery селектор ссылок, которые должны запускать pjax запросы. yii\widgets\Pjax
$options array Атрибуты HTML для тега контейнера виджета. yii\widgets\Pjax
$scrollTo boolean|integer Как прокручивать страницу при получении ответа pjax. yii\widgets\Pjax
$stack yii\base\Widget[] Виджеты, которые в данный момент отрисовываются (не завершены). yii\base\Widget
$submitEvent string jQuery событие, которое запустит обработчик формы. yii\widgets\Pjax
$timeout integer Настройка таймаута pjax (в миллисекундах). yii\widgets\Pjax
$view yii\web\View Объект представления, который можно использовать для отрисовки представлений или файлов представления. yii\base\Widget
$viewPath string Директория, содержащая файлы представления для этого виджета. 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\Pjax
off() Отсоединяет существующий обработчик событий от этого компонента. yii\base\Component
on() Прикрепляет обработчик событий к событию. yii\base\Component
registerClientScript() Регистрирует необходимый JavaScript. yii\widgets\Pjax
render() Рендерит представление. yii\base\Widget
renderFile() Рендерит файл представления. yii\base\Widget
run() Выполняет виджет. yii\widgets\Pjax
setId() Устанавливает идентификатор виджета. yii\base\Widget
setView() Устанавливает объект представления, который будет использоваться этим виджетом. yii\base\Widget
trigger() Вызывает событие. yii\base\Component
widget() Создаёт экземпляр виджета и запускает его. yii\base\Widget

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

Метод Описание Определено в
requiresPjax() yii\widgets\Pjax

События

Событие Тип Описание Определено в
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

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

$autoIdPrefix общедоступное статическое свойство

Префикс для автоматически сгенерированных идентификаторов виджетов.

public static string $autoIdPrefix = 'p'

$clientOptions общедоступное свойство

Дополнительные параметры, которые нужно передать в плагин pjax JS. Обратитесь к странице проекта pjax для получения доступных параметров.

public array $clientOptions = null

$counter общедоступное статическое свойство

Счётчик, используемый для генерации $id для виджетов.

public static integer $counter = 0

$enablePushState общедоступное свойство

Включить ли push state.

public boolean $enablePushState = true

$enableReplaceState общедоступное свойство

Включить ли replace state.

public boolean $enableReplaceState = false

$formSelector общедоступное свойство

Селектор jQuery форм, отправка которых должна вызывать запросы pjax. Если не задано, все формы с data-pjax атрибутом внутри содержащегося контента Pjax будут вызывать запросы pjax. Если установлено в false, никакой код не будет зарегистрирован для обработки форм. Обратите внимание, что если ответ на запрос pjax является полной страницей, то нормальный запрос будет отправлен снова.

public string|false $formSelector = null

$linkSelector общедоступное свойство

Выборщик jQuery для ссылок, которые должны вызывать запросы pjax. Если не задано, все ссылки внутри заключенного содержимого Pjax будут вызывать запросы pjax. Если установлено в false, никакой код не будет зарегистрирован для обработки ссылок. Обратите внимание, что если ответ на запрос pjax — полная страница, то будет отправлен обычный запрос.

public string|false $linkSelector = null

$options общественное свойство

Атрибуты HTML для тега контейнера виджета. Распознаются следующие специальные опции:

  • tag: строка, имя тега для контейнера. По умолчанию div Эта опция доступна начиная с версии 2.0.7. См. также yii\helpers\Html::tag().

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

public array $options = []

$scrollTo общественное свойство

Способ прокрутки страницы при получении ответа pjax. Если false, прокрутка страницы не будет выполнена. Используйте число, если нужно прокрутить до определённого места.

public boolean|integer $scrollTo = false

$submitEvent общественное свойство (доступно начиная с версии 2.0.9)

Событие jQuery, которое будет запускать обработчик формы. По умолчанию "submit".

public string $submitEvent = 'submit'

$timeout общественное свойство

Настройка таймаута pjax (в миллисекундах). Этот таймаут используется при выполнении AJAX-запросов. Используйте большее число, если ваш сервер медленный. Если сервер не отвечает в течение таймаута, будет выполнена полная загрузка страницы.

public integer $timeout = 1000

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

init() общественный метод

Инициализирует объект.

Этот метод вызывается в конце конструктора. Стандартная реализация вызовет событие EVENT_INIT.

public void init ( )

registerClientScript() общественный метод

Регистрирует необходимый JavaScript.

public void registerClientScript ( )

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

protected boolean requiresPjax ( )
return boolean

Требуется ли от данного виджета ответ pjax для текущего запроса

run() общественный метод

Выполняет виджет.

public string run ( )
return string

Результат выполнения виджета, который нужно вывести.

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

Spec-Zone.ru

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