1

我在 yii2 中有一个图像滑块_carousel.php。我想在调用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();
4

1 回答 1

1

main.php 是你的布局?当您调用 actionIndex() (这是您在控制器中的操作对吗?)并将“轮播”分配给控制器的索引视图时,您实际上拥有了您想要的东西。您只需将“轮播”分配给您在索引站点上的视图。

但是您知道哪个动作正在执行您的布局。在你的布局 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

于 2015-06-23T22:12:04.877 回答