如何使用CI4解析器服务从模块中呈现视图



我正试图从模块文件夹加载视图,因为CI总是在App/View文件夹中寻找视图,如何将其覆盖以从ROOTPATH而不是APPPATH/views给出完整的路径

$parser = ConfigServices::parser();
$parser->setData(['variable' => $variable])->render('modulesPluginNameViewsindex');

错误CodeIgniter 视图 ViewException异常无效文件:{path/to/project}/app/Config/../Views/modules/PluginName/Views/index.php

您正在使用相对于默认视图路径的路径。

你可以:

1。在CodeIgniter 4文件夹结构的Config/Path.php文件中编辑下面的行:

public $viewDirectory = __DIR__ . '/../Views';

public $viewDirectory = '/modules/PluginName/Views';

从文件中的注释中:此变量必须包含包含应用程序使用的视图文件的目录的名称。默认情况下,它在app/Views中。这个值

当没有提供给Services::renderer()

值时使用。

2。将其设置为该解析器的绝对路径:

$parser->setData(['variable' => $variable])->render('/modules/PluginName/Views/index');

注意路径开头的斜杠/。

最新更新