Php 如何创建Html->;插件链接
我正在使用Cakedc用户插件,这对我来说非常好 但是我有一个问题,这个插件的默认布局位于Php 如何创建Html->;插件链接,php,cakephp-3.0,Php,Cakephp 3.0,我正在使用Cakedc用户插件,这对我来说非常好 但是我有一个问题,这个插件的默认布局位于APP\u ROOT\vendor\cakedc\users\src\Template\layout 但是我的应用程序的默认布局位于app\u ROOT\src\Template\layout 我不认为这是一个大问题,我只是将默认布局从src文件夹复制到plugin文件夹,但我的问题是它们指向我网站的链接 EXAMPLE.COM/FAQ转换为EXAMPLE.COM/USERS/FAQ 我正在使用创建链接 那
APP\u ROOT\vendor\cakedc\users\src\Template\layout
但是我的应用程序的默认布局位于app\u ROOT\src\Template\layout
我不认为这是一个大问题,我只是将默认布局从src文件夹复制到plugin文件夹,但我的问题是它们指向我网站的链接
EXAMPLE.COM/FAQ
转换为EXAMPLE.COM/USERS/FAQ
我正在使用
创建链接
那么我如何解决这个问题呢
小更新:我刚想到使用旧的../hack,它成功了
给了我想要的结果,但是如果有任何插件视图模板,我仍然想要另一个解决方案,应该通过应用程序模板覆盖
你不应该篡改插件源代码,你的更改将随着下一次更新而丢失
检查插件和CakePHP文档,了解如何正确覆盖插件视图模板
[……]
您可以使用特殊路径覆盖应用程序内部的任何插件视图。如果您有一个名为ContactManager
的插件,您可以通过使用以下模板src/template/plugin/[plugin]/[Controller]/[view]创建文件,用特定于应用程序的视图逻辑覆盖插件的模板文件。ctp
。对于联系人控制器,您可以创建以下文件:
src/Template/Plugin/ContactManager/Contacts/index.ctp
[……]
src/Template/Plugin/[Plugin]/Layout/[layout].ctp
因此,对于cakedc/users
插件,默认布局可以通过
src/Template/Plugin/Users/Layout/default.ctp
通过plugin
选项突破插件范围
如果需要在插件作用域中计算代码以生成非插件URL,请使用plugin
选项通过传递false
或null
来中断
<?= $this->Html->link(__('FAQ'), ['controller' => 'faqs', 'plugin' => false]) ?>