ezpublish legacy中如何解析图像路径?

ezpublish legacy中如何解析图像路径?,ezpublish,Ezpublish,我正在处理一些现有的ezpublish代码库。我有两个扩展名extA和extB。在extA的模板中,我在tpl中有这个代码 <img src={"icons/test.png"|ezimage} height="75" width="75" /> 此图像的完整路径变为 mysite.com/extension/extA/design/extA/images/icons/test.png 现在,我将相同的图像代码放在extB的tpl中。但现在映像路径解析为 mysite.com/

我正在处理一些现有的ezpublish代码库。我有两个扩展名
extA
extB
。在
extA
的模板中,我在tpl中有这个代码

<img src={"icons/test.png"|ezimage} height="75" width="75" />

此图像的完整路径变为
mysite.com/extension/extA/design/extA/images/icons/test.png

现在,我将相同的图像代码放在
extB
的tpl中。但现在映像路径解析为

mysite.com/design/extB/images/icons/test.png


为什么会出现这种路径差异?ezpublish中是否有任何设置可以控制此操作?

在扩展名的design.ini中,您应该让ezpublish知道哪个文件夹是设计模板的文件夹。它看起来像这样:

[ExtensionSettings]
DesignExtensions[]=extB
{ezpublish_root}/extension/extB/design/extB/....
在文件系统中,路径如下所示:

[ExtensionSettings]
DesignExtensions[]=extB
{ezpublish_root}/extension/extB/design/extB/....
在您的示例中,我认为“DesignExtensions[]”是空的,它将ezpublish本身的设计文件夹放在根目录上,这几乎是ezpublish中所有内容的后备方法

为了让你的例子更清楚:


“ezimage”将查看您的设计文件夹的“images”文件夹,如果该名称的图像存在,它将返回其路径。

以下链接帮助我找到了问题。

如果操作员无法在当前设计的“images”子目录中找到指定的文件,它将尝试在回退设计或标准设计的“images”子目录中找到该文件

eZ Publish将在目录“/extension/extension\u name/design/”中查找设计

因此它首先尝试在path
mysite.com/extension/extB/design/extB/images/icons/test.png中查找

当图像不存在时,它会尝试从fallback
mysite.com/design/extB/images/icons/test.png中查找


我的映像位于第一个路径中,但由于缓存未更新,它仍试图从回退中查找。清除缓存后,在第一个路径中找到了映像。

感谢您的回复。它帮助我找到了正确的答案。这实际上是缓存问题。首先,它试图从扩展内的
design
文件夹中查找。如果失败,它将返回到备用目录或标准目录。不客气,但我看不出你的和我的有什么区别。只是措辞不同,当然还有你忘记清理的缓存:)你的话几乎一样,但不一样。不同之处在于您谈到缺少
design.ini
文件。如果该文件不存在,则默认路径与扩展名相同。当图像文件不在扩展名的设计文件夹中,而不是
design.ini
不存在或
DesignExtensions
不存在时,将搜索回退。