我正在研究一些现有的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中是否有任何设置来控制它?
答案 0 :(得分:2)
在您的扩展程序的design.ini中,您应该让ezpublish知道哪个文件夹是设计模板的文件夹。它看起来像这样:
[ExtensionSettings]
DesignExtensions[]=extB
在文件系统中,路径如下所示:
{ezpublish_root}/extension/extB/design/extB/....
在你的例子中我认为&#34; DesignExtensions []&#34;是空的,它需要ezpublish本身的设计文件夹在root上,这几乎是ezpublish中所有内容的后备。
只是为了让你的例子更清晰:
&#34; ezimage&#34;将调查&#34;图像&#34;设计文件夹的文件夹,如果存在具有该名称的图像,则会返回其路径。
答案 1 :(得分:0)
以下链接帮助我找到问题所在。 https://doc.ez.no/eZ-Publish/Technical-manual/3.10/Reference/Template-operators/URLs/ezimage
如果操作员无法在当前设计的“images”子目录中找到指定的文件,它将尝试在后备设计或标准设计的“images”子目录中找到它。
和
eZ Publish将在“/ extension / extension_name / design /”
目录中查找设计
所以它首先尝试在路径mysite.com/design/extB/images/icons/test.png
当图片不存在时,它会尝试从后备npm install -g flambe
flambe update
我的图片位于第一条路径,但它仍然试图从后备中找到缓存未更新。清除缓存后,在第一个路径中找到了图像。