dlls/yii2-intercooler

Yii2 Intercooler 扩展

安装次数: 2,773

依赖: 0

建议者: 0

安全: 0

星标: 3

关注者: 3

分支: 0

开放问题: 0

类型:yii2-extension

2.9 2018-04-30 07:52 UTC

This package is not auto-updated.

Last update: 2024-09-15 01:17:21 UTC


README

轻松将 Intercooler.js(易于使用的 Ajax 处理程序)集成到 Yii2 框架中。提供了一组预先定义了 Intercooler 要求的现成小部件。

有关 Intercooler.js 的官方文档,请参阅 http://intercoolerjs.org

安装

安装此扩展的首选方法是通过 composer

运行以下命令之一:

$ composer require dlds/yii2-intercooler

或者

"dlds/yii2-intercooler": "~2.0"

将以下内容添加到您的 composer.json 文件的 require 部分。

模块基类

基模块类 Intercooler 包含所有 Intercooler 所需的 HTML 元素属性选项。同时,它还使用 IntercoolerAssets 注册所需的 JavaScript 文件。它通常通过包含的小部件之一进行初始化。

响应头

使用基类静态方法,您可以设置特定的 Intercooler 头部。

X-IC-Redirect

为了在 Intercooler 请求完成后将用户重定向到新 URL,您必须在服务器端设置重定向头。

Intercooler::doRedirect('/new-destination-url');

X-IC-Refresh

为了刷新 Intercooler 元素,您可以在服务器端设置刷新头,并告诉 Intercooler 哪些元素应该被刷新。

Intercooler::doRefresh([
	'/foo/bar'
]);

有关 '/foo/bar' 的含义,请参阅 官方文档

X-IC-Remove

为了删除目标元素,您必须在服务器端设置删除头。

Intercooler::doRemove();

小部件

集成包含基于 Intercooler 行为的许多现成模块。

AjaxBlock

助手,用于渲染带有所需 Intercooler 属性的适当 HTML 元素。

AjaxBlock::begin([
	'id' => 'my-ic-widget',
	'wrapper' => 'button',
	'options' => ['class' => 'text-gray']
	'intercooler' => [
		'url' => '/my-custom-url',
		'target' => '#my-target-element',
	],
]);

// ... custom content

AjaxBlock::end();

有关更多小部件选项,请参阅 AjaxBlock 类文档。

InfiniteList

渲染无限列表视图小部件。

InfiniteList::widget([
	'id' => 'my-ic-infinite-list,
	// 	...
	//	standart ListView widget options
	// 	...
	'layout' => "{indicatorRefresh}<div class=\"items\">{items}{pager}</div>\n",
	'partialLayout' => "{items}{pager}\n",
	'intercooler' => [
		'url' => '/my-ic-feed-url,
		'type' => \dlds\intercooler\Intercooler::RQ_TYPE_SRC,
	],
	'pager' => [
    	'class' => InfiniteListPager::className(),
    ],
]);

有关更多小部件选项,请参阅 InfiniteList 类文档。