Получить оригинальное изображение url Magento (1.6.1.0) - PullRequest
8 голосов
/ 27 ноября 2011

У меня есть следующий фрагмент кода:

$cProduct = Mage::getModel("catalog/product");
foreach($products_id as $product_id) {
    $product = $cProduct->load($product_id);
    //$products_image[] = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).str_replace(Mage::getBaseUrl('media'),"", $product);
    //$products_image[] = $product->getMediaConfig()->getMediaUrl($_product->getData('image'));
    $products_image[] = $product->getImageUrl(); //product's image url
}

Как видите, я пробовал несколько способов получить исходный URL-адрес изображения.В настоящее время я использую getImageUrl (), но он получает базовое изображение, которое является обрезанной версией.Как я могу получить исходное изображение ??

Заранее спасибо.

Редактировать: Серьезно, похоже, нет функции для этого, гуглил уже несколько часов подряд (также до публикации здесь).Итак, я написал свою собственную функцию.

function get_original_image_url($base_image_url) {
    $exploded = explode("/", $base_image_url);
    $image_name = $exploded[count($exploded) - 1];

    $original_image_url = "http://yoursitehere.com/media/catalog/product/" . $image_name[0] . "/" .
                           $image_name[1] . "/" . $image_name;

    return $original_image_url;
}

Я звоню так:

$original = get_original_image_url($product->getImageUrl());

Работает для меня, хотя это не очень хороший способ сделать это.

Ответы [ 2 ]

31 голосов
/ 28 ноября 2011

Для этой цели следует использовать модель конфигурации носителя для каталога.

<?php

//your code ...

echo Mage::getModel('catalog/product_media_config')
            ->getMediaUrl( $product->getImage() ); //getSmallImage(), getThumbnail()

Надеюсь, это поможет.

2 голосов
/ 18 декабря 2012

Другой, более быстрый способ:

$cProduct = Mage::getModel("catalog/product");
$baseUrl = Mage::getBaseUrl('media') . 'catalog/product/';
foreach($products_id as $product_id) {
    $product = $cProduct->load($product_id);
    $products_image[] = $baseUrl . $product->getImage();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...