2016-04-07 15 views
0

$this->viewBuilder()->templatePath()'u denedim, ancak bu yalnızca önek ve denetleyici adını döndürür. (Ex. Dashboard/Users)CakePHP 3.x, Bir şablon dosyasına tam yol nasıl ulaşılır

tam yol daha fazla gibi /usr/local/var/www/mysite/vendor/vendorname/users/src/Template/Dashboard/Users

O yolun bir kısmını almak için Plugin::path($this->viewBuilder()->plugin()) gibi birkaç şey denedim, ama ben dönecektir kodun herhangi bir parçasını bulmak için henüz src klasörünün ne için çağrıldığı ve Template klasörünün çağrıldığı ayarlar.

Onları 'src' . DS . 'Template' olarak kodlayabilirim, ancak bir yerlerde bazı yapılandırma ayarlarıyla değiştirilse bile çalışacak bir şey bulacağımı umuyordum. (İdeal olarak sadece viewBuilder->absoluteTemplatePath() veya benzeri bir şey olacaktır.)

cevap

1

App::path() aracılığıyla olası şablon yollarını alabilirsiniz.

size Users eklenti için şablon yolunu almak istiyorsanız, o zaman

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

yapabileceğini Bu, yöntem kokan unutulmamalıdır

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

gibi bir şey verecekti t mutlaka sadece tek bir yol döndürür, ancak eklenti şablonları için bunu yapar.

Gerçek bir dosyanın yoluna ihtiyacınız varsa, kalan yol bölümlerini kendi başınıza birleştirmeniz gerekir.

da

gör