2015-06-25 6 views
7

मैं इस पर निर्भर करता है prestashop उत्पाद के लिए चित्र URL प्राप्त करने के लिए कोशिश कर रहा हूँ आईडी मैं prestashop द्वारा प्रदान की विधियों के लिए इस कोड को कोशिश कर रहा हूँ है, लेकिन मैंPrestashop चित्र URL

<?php 

//require('config/settings.inc.php'); 
//require('classes/Image.php'); 
require('classes/Link.php'); 
$ItemID=$_GET["catID"]; 
$db=mysql_connect(constant('_DB_SERVER_'),constant('_DB_USER_'), constant 


$image = Image::getCover($ItemID); 
$imagePath = Link::getImageLink($product->link_rewrite, $image['id_image'], 'home_default'); 

ब्लॉक उद्धरण

कुछ भी नहीं मिलता है

यह कोड काम नहीं कर रहा है मैंने आवश्यक कक्षाओं को जोड़ने की कोशिश की लेकिन वे एक समस्या भी उत्पन्न करते हैं यदि मैंने पिछली दो पंक्तियों पर टिप्पणी की है तो आवश्यकता है कि खुद को एक त्रुटि मेरे अन्य कामकाजी कोड की आवश्यकता है जिसे मैं एक टैबलेट बनाने की योजना बना रहा हूं छवियों के यूआरएल मैन्युअल रूप से wroking

<?php 
require('config/settings.inc.php'); 
$ItemID=$_GET["catID"]; 
$db=mysql_connect(constant('_DB_SERVER_'),constant('_DB_USER_'), constant 

('_DB_PASSWD_')) or die('Could not connect'); 
mysql_select_db(constant('_DB_USER_'), $db) or die(''); 
if (is_numeric($ItemID)) { 
$result = mysql_query("SELECT name,date_add,price , IFNULL(imageURL,'') as imageURL 

FROM product inner join product_lang on product_lang.id_product=product.id_product 

left join app_product_image on product.id_product=app_product_image.id_product where 

id_lang=1 and product.id_product='$ItemID'") or die('Could not query'); 
$json = array(); 
    if(mysql_num_rows($result)){ 
      // $row=mysql_fetch_assoc($result); 
     while($row=mysql_fetch_row($result)){ 
      // cast results to specific data types 

      //$test_data[]=$row; 
       $json['name']=$row[0]; 
       $json['date']=$row[1]; 
       $json['price']=$row[2]; 
       $json['imgURL']=$row[3]; 

     } 
     // $json['products']=$test_data; 
    } 
    echo json_encode($json); 
    mysql_close($db); 


} 

उपरोक्त कोड अंतिम समाधान है लेकिन मैं उत्पाद छवियों को मैन्युअल रूप से लिखने की कोशिश नहीं कर रहा हूं!

+0

मेरे सवाल का स्पष्ट नहीं है? –

उत्तर

14

यहां परीक्षण कोड है, मैंने इस कोड को test.php में अपनी prestahsop स्थापना की रूट निर्देशिका के तहत रखा है और यह कमाल का काम करता है।

<?php 
require_once dirname(__FILE__).'/config/config.inc.php'; 
require_once dirname(__FILE__).'/init.php'; 
$id_product = 1;//set your product ID here 
$image = Image::getCover($id_product); 
$product = new Product($id_product, false, Context::getContext()->language->id); 
$link = new Link;//because getImageLInk is not static function 
$imagePath = $link->getImageLink($product->link_rewrite, $image['id_image'], 'home_default'); 
echo $imagePath; 

अपने कोड से आपको चाहिए पता है कि getImageLink स्थिर कार्य नहीं है और कोड स्निपेट $ उत्पाद के अपने पहले ब्लॉक किसी भी उत्पाद के साथ आरंभ नहीं किया है।

पुष्टि के लिए मैं अपने सर्वर पर इस फाइल को अपलोड कर दिया है कि आप उसे यहां देख सकते हैं: Click here

+0

धन्यवाद, यह ठीक है –

+0

अच्छा काम कर रहा है तो आपको इसे सर्वश्रेष्ठ उत्तर के रूप में स्वीकार करना चाहिए और इसे वोट देना चाहिए। –

+0

मैं अभी भी ऊपर नहीं जा सकता, धन्यवाद –

0

यह एक और कोड काम कर रहा है

$link = new Link(); 
$product_url = $link->getProductLink((int)id_product); 
$image = Product::getCover((int)id_product); 
$image = new Image($image['id_image']); 
$product_photo = _PS_BASE_URL_._THEME_PROD_DIR_.$image->getExistingImgPath().".jpg";