Tambahkan gambar statis pada halaman PHTML dan Blok CMS: Magento2


33

Bagaimana saya bisa menambahkan gambar statis pada halaman PHTML dan Blok CMS ke Magento2? di Magento 1.x itu mungkin menggunakan$this->getSkinUrl('images/xyz.jpg')

Saya mencoba metode berikut ke Magento2

Dalam File Phtml:

<img src=”<?php echo $this->getViewFileUrl(‘images/footer-logo.png’); ?>” alt=”Demo”>

Di Blok CMS:

<img src=”{{view url=”images/slide-bg.jpg”}}” alt=”” />

tapi itu tidak berfungsi dengan baik. Tolong sarankan saya kesalahan saya


Usaha Anda tampaknya bagus. Anda perlu membersihkan cache Anda dari backend serta menghapus file cache secara manual dari/var/cache
Praful Rajput

Jawaban:


51

image url Sintaks ok untuk keduanya static blockdan phtml, Tapi pastikan bahwa ketika Anda menulis kode ini di blok statis

<img src="{{view url="images/slide-bg.jpg"}}" alt="test" />

di ujung depan sepertinya

http: //localhost/magento2new/pub/static/frontend/Magento/luma/en_US/images/slide-bg.jpg

Di mana Magento/lumaadalah packagenama dan themenama, Anda dapat mengganti dengan Anda packagedan themenama

Jadi Anda harus berhati-hati agar slide-bg.jpgada

pub/static/frontend/Magento/luma/en_US/images direktori.

Dalam kasus anda,

<img src='<?php echo $this->getViewFileUrl('images/footer-logo.png'); ?>' alt="Demo">

Sintaks sepertinya ok, tapi di frontend Sepertinya

http: //localhost/magento2new/pub/static/frontend/Magento/luma/en_US/images/footer-logo.png

Jadi, Anda harus memastikan yang footer-logo.pngada di

pub/static/frontend/Magento/luma/en_US/images direktori.

Dan jangan lupa "[quotation marks]


viewfor pub/static/frontend/Namespace/theme/locale storefor url situs
Praful Rajput

15

Untuk modul khusus Anda buat struktur direktori seperti

Company/Module/view/frontend/web/images/image-icon.png

dan dalam phtml gunakan kode berikut

<img src='<?php echo $this->getViewFileUrl('Company_Module::images/image-icon.png'); ?>' alt="image-icon" width="30" height="25">

thx, menyelamatkan saya banyak waktu untuk mencari: D
ZFNerd

@ZFNerd Paling Selamat Datang
Manish

7

Solusi mudah:

  1. Tempatkan gambar Anda di Jalur Magento 2 Anda:

    /app/design/frontend/< Vendor >/< theme >/web/images
  2. Gunakan kode ini untuk memanggil gambar dalam file phtml:

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

1

Jika Anda juga ingin menjaga hal-hal sedikit lebih terorganisir, Anda dapat menambahkan gambar untuk modul inti yang diganti di bawah tema khusus Anda. Misalnya, saya perlu gambar untuk formulir buletin. Saya menambahkan gambar di

app/design/frontend/<Vendor>/<theme>/Magento_Newsletter/web/images/envelope.png

dan dalam app/design/frontend/<Vendor>/<theme>/Magento_Newsletter/templates/subscribe.phtmlfile saya, saya menggunakannya seperti di bawah ini untuk mendapatkan sumber gambar

$this->getViewFileUrl('Magento_Newsletter::images/envelope.png');

Saya menggunakan Magento v2.2


0

Cara lain untuk melakukan ini adalah menggunakan gambar sebaris:

<?php
// get contents of a file into a string
$filename = "path/to/image.jpg";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
$imagedata = base64_encode($content);
fclose($handle);
?>

<img src="data:image/jpeg;base64, <?= $imagedata; ?>" alt="alt text" />

0
$imageUrl = $this->helper('Magento\Catalog\Helper\Image')
                        ->init($mainProduct, 'product_base_image')
                        ->constrainOnly(TRUE)
                        ->keepAspectRatio(TRUE)
                        ->keepTransparency(TRUE)
                        ->keepFrame(FALSE)
                        ->resize(281, 281)->getUrl();
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.