Jawaban:
Gunakan kode di bawah ini untuk mendapatkan url gambar view
<img src="<?php echo $this->getViewFileUrl('Vendor_Module::images/image.png'); ?>" />
MEMPERBARUI:
<?php echo $block->getViewFileUrl('images/demo.jpg'); ?>
Untuk mendapatkan Image Path di Helper atau Controller Anda, Anda harus menggunakan
use Magento\Framework\View\Asset\Repository;
use Magento\Framework\App\RequestInterface; // for $this->request
dalam file Anda.
Setelah Anda menambahkan repositori dan membuat objek assetRepo
& request
, panggil jalur gambar dengan fungsi,
$params = array('_secure' => $this->request->isSecure());
$this->assetRepo->getUrlWithParams('Nitesh_Module::images/image.png', $params);
Lihat vendor\magento\module-payment\Model\CcConfig.php::getViewFileUrl($fileId, array $params = [])
fungsi
EDIT
Untuk mendapatkan jalur gambar yang benar untuk skrip Pengaturan, panggilan API dan Cronjobs, Anda harus menambahkan emulasi seperti di bawah ini untuk mendapatkan jalur gambar yang benar.
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();
}