igogo5yo/yii2-render-many

用于在单个操作中渲染多个视图的Yii Framework 2扩展(适用于落地页或包含多个内容块的页面,最佳解决方案)

安装: 36

依赖者: 0

建议者: 0

安全: 0

星标: 13

关注者: 4

分支: 2

开放问题: 0

类型:yii2-extension

1.4 2016-07-24 15:30 UTC

This package is not auto-updated.

Last update: 2024-09-11 23:56:59 UTC


README

Latest Stable Version Total Downloads License Dependency Status

用于在单个操作中渲染多个视图的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
        ]);
    }