Magento 2 Denetleyicide veya yardımcıda resim URL'si al?


9

Görüntüyü denetleyiciye veya yardımcıya alma. Örneğin, resimler klasörünün yolu:

 /app/code/Nitesh/Module/view/frontend/web/images
 /app/code/Nitesh/Module/view/frontend/web/images/image.png

Yanıtlar:


13

Resim URL'sini almak için aşağıdaki kodu kullanın view

<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />

GÜNCELLEME:

<?php echo $block->getViewFileUrl('images/demo.jpg'); ?>

1
Bu cevap güzel ve basit. İlk seçenek benim için çalıştı.
Milan Simek

denetleyici dosyasına nasıl girilir?
jafar pinjar

20

Yardımınıza veya Denetleyicinize Görüntü Yolu almak için şunu kullanmanız gerekir:

use Magento\Framework\View\Asset\Repository;
use Magento\Framework\App\RequestInterface; // for $this->request

dosyasında.
Eğer depo eklemek ve nesneyi oluşturduktan sonra assetRepo& requestfonksiyonla çağrı görüntü yolunu,

$params = array('_secure' => $this->request->isSecure());
$this->assetRepo->getUrlWithParams('Nitesh_Module::images/image.png', $params);

vendor\magento\module-payment\Model\CcConfig.php::getViewFileUrl($fileId, array $params = [])Fonksiyonuna bakın

DÜZENLE

Kurulum komut dosyaları, API çağrıları ve Cronjobs için doğru görüntü yollarını almak için, doğru görüntü yollarını almak için aşağıdaki gibi öykünme eklemeniz gerekir.

public function __construct(
    \Magento\Framework\View\Asset\Repository $assetRepo,
    \Magento\Framework\App\RequestInterface $request,
    \Magento\Store\Model\App\Emulation $appEmulation
)
{
    $this->assetRepo = $assetRepo;
    $this->request = $request;
    $this->appEmulation = $appEmulation;
}

public FunctionName($param){
    $this->appEmulation->startEnvironmentEmulation($storeId, \Magento\Framework\App\Area::AREA_FRONTEND, true);

    $params = array('_secure' => $this->request->isSecure());
    $this->assetRepo->getUrlWithParams('Nitesh_Module::images/image.png', $params);

    $this->appEmulation->stopEnvironmentEmulation();
}

Referans: https://magento.stackexchange.com/a/297121/2443


Hata geliyor -> Uyarı: Tanımsız mülk: ... :: $ istek
Nitesh

referans ty aldım
Nitesh

Çok teşekkürler adamım. Resim URL'si almak gerçekten yararlı.
Nitesh

@Jaimin, bu yinelenenData.php çalışmıyor, u orada denediniz mi?
jafar pinjar

1
@JaiminSutariya, Evet. RecurringData.php, burada Alan_code Global olarak ayarladığım, bu yüzden Url çalışmıyor _view / global ile oluşturuyor, RecurringData.php ile bir kez deneyebilirsiniz, sonra u sorun hakkında fikir alacaksınız
jafar pinjar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.