2016-04-07 14 views
0

私は$this->viewBuilder()->templatePath()を試しましたが、これはプレフィックスとコントローラ名だけを返します。 (例:Dashboard/UsersCakePHP 3.x、テンプレートファイルへのフルパスを取得する方法

フルパスがより/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

可能なテンプレートパスはApp::path()で取得できます。

あなたUsersプラグインのテンプレートパスを取得したい場合は、

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

を行うことができますこれは、あなたにこの方法は「doesnのことに留意すべきである

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

のようなものを与えるだろう必ずしも単一のパスしか返さないので、プラグインテンプレートの場合はそうです。

実際のファイルへのパスが必要な場合は、残りのパスセグメントを自分で連結する必要があります。

を参照してください。
関連する問題