igogo5yo / yii2-render-many
用于在单个操作中渲染多个视图的Yii Framework 2扩展(适用于落地页或包含多个内容块的页面,最佳解决方案)
1.4
2016-07-24 15:30 UTC
Requires
- yiisoft/yii2: *
This package is not auto-updated.
Last update: 2024-09-11 23:56:59 UTC
README
用于在单个操作中渲染多个视图的Yii Framework 2扩展(适用于落地页或包含多个内容块的页面,最佳解决方案)
请将问题报告和pull请求提交到主仓库。有关许可信息,请查看LICENSE文件。
安装
安装此扩展的首选方式是通过composer。
运行以下命令
php composer require --prefer-dist igogo5yo/yii2-render-many
或者
"igogo5yo/yii2-render-many": ">=1.0"
将以下内容添加到您的composer.json
文件中
示例
使用特性
... class MyController extends Controller { use igogo5yo\rendermany\RenderMany; public function actionIndex() { return $this->renderMany([ 'sliderSection' => [ 'slides' => ['img1.jpg', 'img3.jpg', 'img3.jpg'] ], 'contentSection' => [ 'title' => 'My post', 'description' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry...', ], 'partnersSection' => [ 'partners' => [ ['link' => '#', 'name' => 'partner 1'], ['link' => '#', 'name' => 'partner 2'], ['link' => '#', 'name' => 'partner 3'], ] ], 'footer' //without passing variables ]); } }
或者扩展您的控制器
class MyController extends igogo5yo\rendermany\Controller { public function actionIndex() { return $this->renderMany([ 'sliderSection' => [ 'slides' => ['img1.jpg', 'img3.jpg', 'img3.jpg'] ], 'contentSection' => [ 'title' => 'My post', 'description' => 'Lorem Ipsum is simply dummy text of the printing and typesetting industry...', ], 'partnersSection' => [ 'partners' => [ ['link' => '#', 'name' => 'partner 1'], ['link' => '#', 'name' => 'partner 2'], ['link' => '#', 'name' => 'partner 3'], ] ], 'footer' //without passing variables ]); } }
您还可以使用部分渲染
public function actionIndex() { return $this->renderMany([ 'sliderSection' => [ 'slides' => ['img1.jpg', 'img3.jpg', 'img3.jpg'] ], 'wrapper' => [ 'innerRenders' => $this->renderManyPartial([ 'innerView1' => [ 'param1' => 'some data 1'. 'param2' => 'some data 2' ], 'innerView2' //without passing variables ]) ], 'footer' //without passing variables ]); }