Model view controller Yii2:从主应用程序渲染模块视图
假设模块遵循方法中所述的目录结构,Yii2应用程序(不是模块控制器)如何呈现模块提供的视图?您可以将视图指定为:Model view controller Yii2:从主应用程序渲染模块视图,model-view-controller,yii2,yii2-module,Model View Controller,Yii2,Yii2 Module,假设模块遵循方法中所述的目录结构,Yii2应用程序(不是模块控制器)如何呈现模块提供的视图?您可以将视图指定为: 路径别名(例如“@app/views/site/index”);应用程序内的绝对路径(例如“//site/index”):视图名称以双斜杠开头。实际视图文件将在应用程序的视图路径下查找 模块内的绝对路径(例如“/site/index”):视图名称以单斜杠开头。实际视图文件将在$module的视图路径下查找 相对路径(例如“索引”):实际视图文件将在$viewPath下查找 因此,
- 路径别名(例如“@app/views/site/index”);应用程序内的绝对路径(例如“//site/index”):视图名称以双斜杠开头。实际视图文件将在应用程序的视图路径下查找
- 模块内的绝对路径(例如“/site/index”):视图名称以单斜杠开头。实际视图文件将在$module的视图路径下查找
- 相对路径(例如“索引”):实际视图文件将在$viewPath下查找
return $this->render('@app/modules/forum/views/default/index');
$this->layout = '@app/modules/forum/views/layouts/main';
这将使用主应用程序的应用布局渲染视图。要使用模块的布局,请在操作中添加以下内容:
return $this->render('@app/modules/forum/views/default/index');
$this->layout = '@app/modules/forum/views/layouts/main';
这假定在论坛
模块中查看default/index
和布局main
。如方法中所述,您可以将视图指定为:
- 路径别名(例如“@app/views/site/index”);应用程序内的绝对路径(例如“//site/index”):视图名称以双斜杠开头。实际视图文件将在应用程序的视图路径下查找
- 模块内的绝对路径(例如“/site/index”):视图名称以单斜杠开头。实际视图文件将在$module的视图路径下查找
- 相对路径(例如“索引”):实际视图文件将在$viewPath下查找
return $this->render('@app/modules/forum/views/default/index');
$this->layout = '@app/modules/forum/views/layouts/main';
这将使用主应用程序的应用布局渲染视图。要使用模块的布局,请在操作中添加以下内容:
return $this->render('@app/modules/forum/views/default/index');
$this->layout = '@app/modules/forum/views/layouts/main';
这假设在
论坛
模块中查看default/index
和布局main
。我想添加一个重要且非常有用的事实:通过composer安装的Yi2扩展自动获得自己的@vendorname/extensionname
别名。我想添加一个重要且非常有用的事实:Yi2通过composer安装的扩展自动获得自己的@vendorname/extensionname
别名。