Как получить URL-адрес изображения оригинального размера в magento 2.0

Я новичок в Magento 2.0, и я изо всех сил пытался найти решение. Мой первый вопрос, который я еще не понял, как добраться до конкретной функции? Потому что я заметил, что многие люди используют их в Magento 1.+:

Mage::helper('cms/page')->

or

Mage::getModel('catalog/product_media_config')  

(например, Получить исходный URL-адрес изображения Magento (1.6.1.0))

но я не могу использовать их в Magento 2.0. Если такое использование больше не доступно в последней версии, что я могу использовать в качестве альтернативного метода для доступа к функциям?

Что касается другого вопроса, я не могу получить изображение исходного размера в grid.phtml (список каталога). Вот как получить изображения:

<?php 
echo $block->getImage($_item, $image)->getImageUrl(); 
echo $block->getImage($_item, $image)->getWidth(); 
echo $block->getImage($_item, $image)->getHeight();
?>

И такой результат:

http://192.168.1.4/magento/pub/media/catalog/product/cache/1/small_image/240x300/beff4985b56e3afdbeabfc89641a4582/t/h/thumbnail_1.jpg240300

Как я уже упоминал выше, я хочу получить URL-адрес изображения исходного размера вместо small_image. Надеюсь, я объяснил свои проблемы. Если у кого-то есть какие-либо идеи, пожалуйста, дайте мне знать. Спасибо!


person Semih Gokceoglu    schedule 10.11.2015    source источник


Ответы (2)


Используйте приведенную ниже функцию, чтобы получить URL-адрес базы мультимедиа для определенного магазина:

function getMediaBaseUrl() {

$om = \Magento\Framework\App\ObjectManager::getInstance();

$storeManager = $om->get('Magento\Store\Model\StoreManagerInterface');

$currentStore = $storeManager->getStore();
return $currentStore->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
}

Используя функцию getMediaBaseUrl(), мы можем найти URL-адрес изображения в Magento2:

echo $block->getMediaBaseUrl() .'catalog/product'. $_product->getImage();
person VIPIN A ROY    schedule 18.02.2016

1) Быстрое решение путем прямого написания пути к каталогу мультимедиа

echo $block->getUrl().'pub/media/catalog/product' . $_product->getImage();

2) Получение пути к каталогу мультимедиа с использованием объекта класса StoreManager

namespace YourNamespace\YourModule\Block;
class YourModule extends \Magento\Framework\View\Element\Template
{
    protected $_storeManager;

    public function __construct(
        \Magento\Store\Model\StoreManagerInterface $storeManager,
        ...        
    )
    {
        $this->_storeManager = $storeManager;
        ...
    }

    public function getMediaBaseUrl()
    {
        return $this->_storeManager
                    ->getStore()
                    ->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
    }
}

А затем в файле шаблона вашего модуля (.phtml) вы можете написать так:

echo $block->getMediaBaseUrl() . $_product->getImage();
person Mukesh Chapagain    schedule 13.02.2016