3

我需要在应用程序的另一个视图中加载模块视图作为局部视图。我在手册中找不到有关如何执行此操作的线索。

视图完全独立于模块:

<?php
    // This is the module's class. Do I need it here?
    use vendor\xxx\cropk\CropK;

/* @var $this yii\web\View */
    $this->title = 'Cropping Test';
?>
<div class="site-index">
    <p>Cropping Test</p>
    <?php
        // ...
    ?>
</div>

我怎样才能做到这一点?

4

1 回答 1

3

查看渲染的文档,您有几个选择:

可以使用以下格式之一指定要呈现的视图:

  • 路径别名(例如“@app/views/site/index”);
  • 应用程序内的绝对路径(例如“//site/index”):视图名称以双斜杠开头。实际的视图文件将在应用程序的视图路径下查找。
  • 模块内的绝对路径(例如“/site/index”):视图名称以 > 单斜杠开头。实际的视图文件将在 $module 的视图路径下查找。
  • 相对路径(例如“索引”):实际的视图文件将在 $viewPath 下查找。

基于这些选择,您似乎将在应用程序中指定绝对路径,或者创建路径别名并使用该语法(应用程序?主站点视图?无论它在哪里。)

所以,如果你想渲染你会在你的视图中{basePath}/views/site/my_partial.php做类似的事情。$this->renderPartial('//site/my_partial.php');

于 2015-06-16T17:12:48.407 回答