CakePHP 3.x,如何获取模板文件的完整路径

时间:2016-04-07 20:28:38

标签: templates cakephp cakephp-3.0 filepath

我已尝试$this->viewBuilder()->templatePath(),但这只返回前缀和控制器名称。 (例如Dashboard/Users

完整路径更像/usr/local/var/www/mysite/vendor/vendorname/users/src/Template/Dashboard/Users

我已尝试了其他一些内容,例如Plugin::path($this->viewBuilder()->plugin())来获取该路径的一部分,但我还没有找到任何代码来返回src文件夹的设置被调用以及调用Template文件夹的内容。

我可以将它们硬编码为'src' . DS . 'Template',但希望我能找到一些可行的东西,即使这些东西通过某些配置设置进行了更改。 (理想情况下,只有viewBuilder->absoluteTemplatePath()或类似的东西。)

1 个答案:

答案 0 :(得分:2)

您可以通过App::path()检索可能的模板路径。

如果要检索Users插件的模板路径,则可以执行

$templatesPath = current(\Cake\Core\App::path('Template', 'Users'));

这会给你类似的东西

/usr/local/var/www/mysite/vendor/vendorname/users/src/Template/

应该注意的是,此方法不一定仅返回单个路径,但它对插件模板也是如此。

如果您需要实际文件的路径,那么您必须自己连接剩余的路径段。

另见