我在_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();
答案 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