Php 如何创建Html->;插件链接

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 我正在使用创建链接 那

我正在使用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

我正在使用
创建链接

那么我如何解决这个问题呢


小更新:我刚想到使用旧的../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]) ?>