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

时间:2013-06-13 16:12:22

标签: image url 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++;
}

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

$link->getImageLink($product->link_rewrite, $cover.id_image, 'large_default')

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

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

1 个答案:

答案 0 :(得分:7)

$image = new Image($id_image);
$image_url = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";

或者,如果图像得到的路径如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;
}