我需要在应用程序的另一个视图中加载模块的视图作为局部视图。我在手册中找不到关于如何做到这一点的线索。
视图完全独立于模块:
<?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>
我该如何做到这一点?
答案 0 :(得分:3)
查看render's文档,您有几个选择:
可以使用以下格式之一指定要渲染的视图:
- 路径别名(例如“@ app / views / site / index”);
- 应用程序中的绝对路径(例如“// site / index”):视图名称以双斜杠开头。将在应用程序的视图路径下查找实际的视图文件。
- 模块内的绝对路径(例如“/ site / index”):视图名称以&gt;单斜杠开头。将在$ module。
的视图路径下查找实际的视图文件- 相对路径(例如“index”):将在$ viewPath下查找实际的视图文件。
基于这些选择,看起来您将在应用程序中指定绝对路径,或者创建路径别名并使用该语法(应用程序?主站点视图?无论它在何处。)
因此,如果你想渲染{basePath}/views/site/my_partial.php
,你可以在视图中执行类似$this->renderPartial('//site/my_partial.php');
的操作。