1

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

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

$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

你能告诉我有什么问题吗?谢谢

4

1 回答 1

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;
}
于 2013-07-17T08:24:25.957 回答