mysql 在哪张表中产品图片url存储在Prestashop

hm2xizp9  于 2023-01-25  发布在  Mysql
关注(0)|答案(3)|浏览(87)

我想在Prestashop数据库中找到产品图像URL存储位置。

qni6mghb

qni6mghb1#

产品图像URL未存储在数据库中。位置基于ps_image表的id_image字段。
具有1234作为id的图像将存储在/img/p/1/2/3/4/1234.jpg下。
具有1514作为id的图像将存储在/img/p/1/5/1/4/1514.jpg下。
我邀请您查看/classes/Image.php/classes/ImageManager.php以获取更多信息。

3z6pesqy

3z6pesqy2#

根据Floarian的说明,图像存储在{DB_PREFIX}image表中,并根据图像ID位于img/p文件夹中。
如果您已经按照新系统移动了图像,您的图像将按照Floarian的要求定位,但图像的URL将像..
{YOUR站点URL}/img/p/{标识图像}-{图像类型}/{产品的友好URL}.jpg
例如:
www.testsite.com/img/p/1234-home_default/my-test-product.jpg

pgvzfuti

pgvzfuti3#

如前面的答案所述,图像的URL是使用与给定产品相关的id_image字段(存储在ps_image表中)构建的。
下面是一个(简化的)SQL查询,用于检索每个产品的id_image值:

SELECT ps_product.id_product, ps_image.id_image 
FROM ps_product, ps_image
WHERE ps_image.id_product = ps_product.id_product AND ps_image.position = 1

下面是如何建立相关的URL:

// [...] run SQL query and fetch an array of resulting rows
foreach($rows as $row) {
    $url = '/img/p/'.implode('/', str_split((string) $row[1])).'/'.$row[1].'.jpg';
}

希望这能帮上忙...

相关问题