Як отримати media URL в Magento 2?

Якщо ви розробник Magento, тоді ви точно знаєте, що ефективне керування магазином часто вимагає програмування. Вам потрібно виконувати чимало завдань — від розгортання статичного контенту і оптимізації reindex в Magento 2 до отримання поточних користувачів та media URLs.

Проте все не так складно, якщо ви знаєте правильні методи. У цій статті, зокрема, ви дізнаєтеся як отримати media URLs в Magento 2. 

Отримайте media URL через dependency injection 

Метод dependency injection є одним із найбільш поширених, коли маємо справу з отриманням media URLs в Magento.

Отож, щоб використати його, підіть у ваш phtml block file і створіть функцію a _construct:

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

Після цього ви можете отримати media URL у вашому phtml file:

$mediaUrl = $this ->_storeManager-> getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
echo $mediaUrl;

Отримайте media URL через object manager

Ще одним способом отримати media URL є метод object manager. Просто використайте такий код:

$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$storeManager = $objectManager->get(\Magento\Store\Model\StoreManagerInterface::class); $mediaUrl = $storeManager->getStore()->getBaseUrl(\Magento\Framework\UrlInterface::URL_TYPE_MEDIA);
echo $mediaUrl;

Примітка: наполегливо рекомендуємо уникати прямого використання методу object manager. Попри те, що він видається досить простим, цей метод приховує справжні залежності класу.

Ось такими способами можна отримати media URLs в Magento, тому обирайте той, з яким вам найзручніше працювати. Після цього вам може знадобитися дізнатися як отримати інші URL-адреси в Magento 2.