从PrestaShop 1.6中的非默认目录中读取图像文件

时间:2015-08-11 15:21:24

标签: image filesystems prestashop prestashop-1.6

Hello Stack Overflow社区,我几周前在Xampp服务器上为我工作的公司安装了PrestaShop 1.6.0.14。他们有一个Web应用程序,可以处理来自其网站的所有图像文件,例如,当用户使用右键单击打开图像 - >打开不同标签或类似图像时,显示的网址如下:

http://www.example.net/FileViewer/File.aspx?Type=3&File=WebsiteFileDirectory/img/logo.jpg&Width=138&Height=50

正如您所看到的,在&File=部分之后出现了一个目录结构和一些参数来处理最后的图像。此目录(WebsiteFileDirectory)位于C:/StorageFiles/Volume1/,用于图像处理的Web应用程序查找文件源。

我的PrestaShop /img/文件夹需要位于该位置,目录结构类似于C:/StorageFolder/Volume1/PrestashopFileDirectory/img。到目前为止,我已将/img/移至该位置,并通过编辑常量值_PS_IMG__PS_IMG_DIR_,将Prestashop 写入设置到新位置以及_PS_CORE_IMG_DIR_config/defines.inc.php

中的config/defines_uri.inc.php

但是在尝试从该位置进行PrestaShop 读取之后,我碰到了一堵砖墙,我甚至尝试通过硬编码来编辑LinkCore::getImageLink()方法。 uri_path值指向前面提到的目录,没有任何结果,PS将尝试从默认位置读取(类似myshop/16-small_default/image_filename.jpg

如何从该位置读取PrestaShop?有没有办法做到这一点?

提前致谢。

PS:只是为了确保我得到一个直截了当的回答我想让你知道,到现在为止我想到PS 1.6中的图像文件系统是如何工作的,如果图像id是25,PS会将文件存储在{ {1}}对于产品图片,我对与此相关的任何内容都没有任何问题。

1 个答案:

答案 0 :(得分:0)

嗯,事实证明,getImageLink必须提供一个URL(来自我之前提到的图像处理webapp),而不是文件系统路径。因此,此方法中的uri_path变量如下所示:

$uri_path = 'http://www.example.net/FileViewer/File.aspx?Type=3&File='.$my_img_directory.'&Width=138&Height=50';

到目前为止我想到的需要类似调整的方法是来自classes/Link.php文件中相同Link类的getMediaLink和getCatImageLink。