denar90 / yii2-lazy-loading-module
Yii2 module for content lazy loading
Installs: 134
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 3
Forks: 1
Open Issues: 0
Type:yii2-extension
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-05-11 14:20:16 UTC
README
Yii2 module for content lazy loading
Main features:
- showing items mode. Probability to use both in backend and in frontend
- flexible module configuration
Installation
The preferred way to install this extension is through composer.
- Either run
php composer.phar require --prefer-dist "denar90/yii2-lazy-loading-module": "dev-master"
or add
"denar90/yii2-lazy-loading-module": "dev-master"
to the require section of your application's composer.json
file.
- Add a new module in
modules
section of your application's configuration file, for example:
'modules' => [ 'lazyloading' => [ 'class' => 'denar90\lazyloading\LazyLoading', 'modelNamespace' => '\app\models\Items' \\ your model with items ], ],
This configuration will show only list, without links on each item. Mode by default is 'list'.
- Mode 'view' configurations, for example:
'modules' => [ 'lazyloading' => [ 'class' => 'denar90\lazyloading\LazyLoading', 'modelNamespace' => '\app\models\Items', \\ your model with items 'mode' => 'edit', 'additionalLinks' => [ 'view' => [ 'controller' => 'yourController', 'action' => 'yourViewAction' ] ] ], ],
- Mode 'edit' configurations, for example:
'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' ] ] ], ],
Usage
In your action call module
For example:
... public function actionIndex() { $lazyLoading = Yii::$app->getModule('lazyloading'); return $lazyLoading->runAction('lazyloading/index'); } ...
Also you should create method in your model for getting list of items. For example:
namespace app\models\Items; ... public function getAllItems($limit = 10, $offset = 0) { return $this->find()->offset($offset)->limit($limit)->all(); } ...