如何仅在yii2中的索引页面上显示滑块

时间:2015-06-11 13:43:17

标签: templates render yii2-basic-app

我在_carousel.php的yii2中有一个图像滑块。我希望在调用main.php时在actionIndex中呈现此部分表单。我所做的是将渲染的html代码保存在变量中并发送到索引,但在main.php中无法识别。如何缓存它并在main.php中显示,而在actionIndex中我们有:

$_carousel = $this->renderPartial('_carousel');
return $this->render('index', [
            'carousel' => $_carousel
        ]);

与yii 1.4中的代码类似的东西:

$this->beginClip('bannerSlideshow');
            echo $this->renderPartial('//layouts/banner');
        $this->endClip();

1 个答案:

答案 0 :(得分:1)

main.php是你的布局?当你调用actionIndex()时(这是你的控制器中的动作对吗?)并将'carousel'分配给你的控制器的索引视图,你实际上有你想要的。您只能将“轮播”分配给索引网站上的视图。

但是你知道哪个动作正在执行你的布局。 在你的布局main.php

...
//$this->context->id //this is the current controller executed
//Combine it with the controllerId if you have more than one indexAction in your app.
if($this->context->action->id === 'index') {
    echo $this->render(/{controller}/_carousel); //your rendered carousel in main.php. 
//when you are using modules this should be
    echo $this->render(//{controller}/_carousel);
....
}

另见http://www.yiiframework.com/doc-2.0/guide-structure-views.html#accessing-data-in-views