denar90 / yii2-lazy-loading-module

内容懒加载的Yii2模块

dev-master 2015-01-07 18:23 UTC

This package is not auto-updated.

Last update: 2024-09-28 16:31:08 UTC


README

内容懒加载的Yii2模块

主要功能

  • 显示项目模式。在后台和前端同时使用概率
  • 灵活的模块配置

安装

通过composer安装此扩展是首选方式。

  • 运行以下命令
php composer.phar require --prefer-dist "denar90/yii2-lazy-loading-module": "dev-master"

"denar90/yii2-lazy-loading-module": "dev-master"

将其添加到您的应用composer.json文件中的require部分。

  • 在您的应用配置文件的modules部分添加一个新的模块,例如
'modules' => [
    'lazyloading' => [
		'class' => 'denar90\lazyloading\LazyLoading',
		'modelNamespace' => '\app\models\Items' \\ your model with items
	],
],

此配置将只显示列表,不显示每个项目的链接。默认模式是'list'。

  • 'view'模式的配置,例如
'modules' => [
    'lazyloading' => [
		'class' => 'denar90\lazyloading\LazyLoading',
		'modelNamespace' => '\app\models\Items', \\ your model with items
		'mode' => 'edit',
		'additionalLinks' => [
			'view' => [
				'controller' => 'yourController',
				'action' => 'yourViewAction'
			]
		]
	],
],
  • 'edit'模式的配置,例如
'modules' => [
    'lazyloading' => [
		'class' => 'denar90\lazyloading\LazyLoading',
		'modelNamespace' => '\app\models\Items', \\ your model with items
		'mode' => 'edit',
		'additionalLinks' => [
			'view' => [
				'controller' => 'yourController',
				'action' => 'yourViewAction'
			],
			'delete' => [
				'controller' => 'yourController',
				'action' => 'yourDeleteItemAction'
			]
		]
	],
],

用法

在您的操作中调用模块

例如

...
 	public function actionIndex() {
		$lazyLoading = Yii::$app->getModule('lazyloading');
		return $lazyLoading->runAction('lazyloading/index');
	}
...

您还应该在模型中创建一个方法来获取项目列表。例如

namespace app\models\Items;
...
 	public function getAllItems($limit = 10, $offset = 0) {
		return $this->find()->offset($offset)->limit($limit)->all();
	}
...