在prestashop 1.5.4中获取产品图片网址

Tar*_*lah 1 url image prestashop

我上传了我的产品图片如下:当我查看与图像相关的产品信息时,将在img/p/1/2/3/4/1234-large_default.jpg上传一张带有1234 id的图像,默认文件(产品)显示图像不可用).

我将代码添加到数据库的代码

$res = "insert into "._DB_PREFIX_."image (`id_product`,`position`,`cover`) values 
(".$id_product.",1, 1)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');
$id_image = Db::getInstance()->Insert_ID();

$res = "insert into "._DB_PREFIX_."image_lang (`id_image`,`id_lang`) values   (".$id_image.", 1)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');

$res = "insert into "._DB_PREFIX_."image_lang (`id_image`,`id_lang`) values (".$id_image.", 2)";
if (!Db::getInstance()->execute($res))
die('Erreur etc.');

$stmt = "insert into "._DB_PREFIX_."image_shop(`id_image`,`id_shop`,`cover`) values (".$id_image.",1,1)";
$folders = str_split($id_image);
$i = 0;
$base_uri ='var/www/autospareparts.se.com/img/p/';
$folders = str_split($id_image);
$i = 0;
$base_uri ='/var/www/autospareparts.se.com/img/p/';
while( $i <sizeof($folders) )
{


$base_uri .= $folders[$i].'/';


if($i==(sizeof($folders) -1))
{if(!is_dir( $base_uri))
if(!mkdir($base_uri, 0777, true))
die('Echec lors de la création des répertoires...');
download_remote_file('http://pic1.aldoc.eu/PicData  /'.$pic,$base_uri.$id_image.'large_default.jpg' );

}
//fin else
$i++;
}
Run Code Online (Sandbox Code Playgroud)

我展示了mytheme/product.tpl的代码

$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')
Run Code Online (Sandbox Code Playgroud)

返回img/p/fr-default-large_default.jpg

你能告诉我什么是错的吗?谢谢

小智 7

$image = new Image($id_image);
$image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";
Run Code Online (Sandbox Code Playgroud)

或者如果图像得到了像img/p/1/2/3/4-1234.jpg的路径:

function imgurl($img_id){
    $ids="".$img_id;
    $result="";
    for ($i=0;$i<strlen($ids);$i++){
        $result.=$ids[$i]."/";
    }
    $result.=$img_id;
    return $result;
}
Run Code Online (Sandbox Code Playgroud)