如何在CakePHP中为插件确定HtmlHelper图像引用?

如何在CakePHP中为插件确定HtmlHelper图像引用?,cakephp,cakephp-1.3,Cakephp,Cakephp 1.3,这个cakePHP框架还是新手,在使用插件时很难理解如何创建帮助器URL。使用CakePHP1.3.12,大多数链接引用都获得了正确的插件名称,但是,当尝试引用图像时,这是失败的 例如,以以下文件夹结构为例: /app/webroot/img/ /app/plugins/myPluginName/: /controllers/checkout /webroot/img/add_item.png

这个cakePHP框架还是新手,在使用插件时很难理解如何创建帮助器URL。使用CakePHP1.3.12,大多数链接引用都获得了正确的插件名称,但是,当尝试引用图像时,这是失败的

例如,以以下文件夹结构为例:

/app/webroot/img/
/app/plugins/myPluginName/:
                         /controllers/checkout
                         /webroot/img/add_item.png
                          :
在视图中添加了以下代码段:

$this->Html->link( $this->Html->image("add_item.png"),
                   array('controller' => 'checkout', 'action' => 'index'),
                   array('escape' => false)
);
当这呈现时,我得到:

<a href="/myPluginName/checkout"><img src="/img/add_item.png" /></a>


这会打断图像,因为位置应该是/myPluginName/img/add_item.png。有没有一种方法可以让图像正确引用,而不必在完整路径中硬编码?

没有,您需要将插件放入如下路径:

$this->Html->link($this->Html->image('/myPluginName/img/add_item.png'),
array('controller' => 'checkout', 'action' => 'index'),
array('escape' => false));
CakePHP手册如前所述:“在img、js或css路径之前注意/your_plugin/prefix是很重要的。这让神奇的事情发生了!”