làm thế nào để có được tất cả hình ảnh của một sản phẩm cụ thể


8

Làm thế nào để có được tất cả hình ảnh của một sản phẩm cụ thể bằng cách sử dụng mã này tôi chỉ có thể tìm nạp hình ảnh duy nhất của sản phẩm cụ thể. .

Xin hãy giúp tôi là người mới này.

<?php 
// Get products in category
require_once('../app/Mage.php');//Path to Magento umask(0);

if(isset($_GET["categoryId"])){
  $categoryId=$_GET["categoryId"];
    $proxy = new SoapClient('http://www.prashant.com/index.php/api/v2_soap/?wsdl'); // TODO : change url
    $sessionId = $proxy->login('prash', 'prashant123@'); // TODO : change login and pwd if necessary

    $products= $proxy->catalogCategoryAssignedProducts($sessionId,$categoryId);


    $itemDetails=array();
    Mage::app(); 

  foreach ($products as $item) { 

    $product2 = Mage::getModel('catalog/product')->load($item->product_id);
    $productMediaConfig = Mage::getModel('catalog/product_media_config');
    $baseImageUrl = $productMediaConfig->getMediaUrl($product2->getImage());
    $price2=0;
    $price2=$product2->getFinalPrice();
    if($price2==0){
    $price2=$product2->getPrice();
    }



    $desc=$product2->getDescription();
           if($desc==""){
            $desc="blank";
           }
           $baseImageUrl = $productMediaConfig->getMediaUrl($product2->getImage());
           if($baseImageUrl=="http://www.prashant.com/media/catalog/product/"){
            $baseImageUrl="http://www.prashant.com/customApi/icon.png";
           }

           //"desc"=>$desc,

           $statusp=$product2->getStatus();
    $statusen= Mage_Catalog_Model_Product_Status::STATUS_ENABLED;


    if($statusp==$statusen){
         $itemDetails[]=array(
      "productId"=>$item->product_id,
      "name"=>$product2->getName(),
      "price"=>$product2->getPrice(),
      "spprice"=>$price2,
      "desc"=>$desc,
      "imageurl"=>$baseImageUrl,
      );
    }


  }
  //return array of products
  //echo "<pre>";
  //print_r($itemDetails);
  //echo "</pre>";
  echo json_encode($itemDetails);
  exit();
}else{
  echo "error";
  exit();
}
?>

Câu trả lời:


8

Sử dụng mã sau đây để tận dụng tất cả các hình ảnh của một sản phẩm cụ thể.

$product = Mage::getModel('catalog/product')->load(2);
$base = $product->getImage();
$thumb = $product->getThumbnail();
$small = $product->getSmallImage();

foreach ($product->getMediaGalleryImages() as $image) 
{ //will load all gallery images in loop
    //print_r($image);
      $file_name = $image->getFile();
}

4

Bạn có thể nhận được tất cả các sản phẩm bằng cách theo tập lệnh bao gồm các hình ảnh được loại trừ:

$product->getMediaGalleryImages('images')

$product should be an instance of Mage_Catalog_Model_Product

3

Bên dưới Biến có thể trả về cho bạn mảng của tất cả các hình ảnh phương tiện liên quan đến id sản phẩm đó.

 $images = Mage::getModel('catalog/product')->load($item->product_id)->getMediaGalleryImages();

2
$result = $client->catalogProductAttributeMediaList($session, $_productId);
echo "<pre>"; print_r($result);

2
<?php foreach ($product->getMediaGalleryImages() as $image) :?>

<img src="<?php echo Mage::helper('catalog/image')->init($product, 'image', $image->getFile())->resize(100, 100); ?>" alt="<?php echo $product->getName()?>" />

<?php endforeach; ?>

1

Hàm getImage () chỉ có thể cung cấp cho bạn hình ảnh cơ bản của sản phẩm.

Nếu muốn có được tất cả hình ảnh của sản phẩm thì bạn nên gọi bộ sưu tập phương tiện .

Nếu bạn là đối tượng sản phẩm đầy đủ thì bạn có thể truyền thông hình ảnh bằng mã bên dưới:

$mediaGallery = $product->getMediaGalleryImages();
    /* get Image one by  using loop*/
    foreach ($product2->getMediaGalleryImages() as $image) {
        echo ($image->getUrl());
    $productMediaConfig->getMediaUrl($image->getUrl());
    } 

sau $desc=$product2->getDescription();.

Lưu ý rằng: Như bạn cófull load the product model by product2 = Mage::getModel('catalog/product')->load($item->product_id);

Sau đó, bạn sử dụng hình ảnh phương tiện truyền thông getMediaGalleryImages() dễ dàng.

Nếu bạn có bộ sưu tập thì hãy sử dụng cách nhanh hơn để tải hình ảnh phương tiện trong bộ sưu tập sản phẩm để lấy hình ảnh phương tiện


1

Hãy thử cái này:

$product = Mage::getModel('catalog/product')->load(3);//product id 3

    foreach ($product->getMediaGalleryImages() as $image) {
                         echo $image->getUrl();
    }  
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.