PHTML sayfasına ve CMS Bloklarına statik bir görüntü ekleyin: Magento2


33

Magento2'ye PHTML sayfasına ve CMS Bloklarına statik bir resim nasıl ekleyebilirim? Magento 1.x içinde kullanarak mümkün oldu$this->getSkinUrl('images/xyz.jpg')

Magento2 içine aşağıdaki yöntemi çalışıyorum

Phtml Dosyasında:

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

CMS Bloklarında:

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

ama düzgün çalışmıyor. Lütfen bana hatalarımı öner


Denemen iyi görünüyor. Önbelleğinizi arka /var/cache
uçtan

Yanıtlar:


51

image url Sözdizimi her ikisi için de tamamdır, static blockve phtmlAncak bu kodu statik bloğa yazdığınızda

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

ön ucunda gibi görünüyor

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

Nerede Magento/lumaolduğunu packageadı ve themeadı, kendi ile değiştirebilirsiniz packageve themeisim

Sizin için bakmak zorunda Yani slide-bg.jpgDİR var

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

Senin durumunda,

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

Sözdizimi tamam görünüyor, ama ön tarafta görünüyor

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

Yani bunun footer-logo.pngvar olduğundan emin olmalısın .

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

Ve unutma "[quotation marks]


viewiçin pub/static/frontend/Namespace/theme/locale storeSite url için
Praful Rajput

15

Özel modülünüz için bir dizin yapısı oluşturun

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

ve phtml'de aşağıdaki kodu kullanın

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

thx, beni aramak için çok zaman kazandırdı: D
ZFNerd

@ZFNerd En Hoş Geldiniz
Manish

7

Kolay çözüm:

  1. Resminizi Magento 2 Yoluna yerleştirin:

    /app/design/frontend/< Vendor >/< theme >/web/images
  2. Görüntüyü phtml dosyasında çağırmak için bu kodu kullanın:

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

1

Ayrıca işleri biraz daha organize tutmak isterseniz, geçersiz kıldığınız çekirdek modüller için özel temanızın altına resim ekleyebilirsiniz. Örneğin, bülten formu için bir resme ihtiyacım var. İçine bir resim ekledim

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

ve app/design/frontend/<Vendor>/<theme>/Magento_Newsletter/templates/subscribe.phtmldosyamda görüntü kaynağını elde etmek için aşağıdaki gibi kullandım

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

Magento v2.2 kullanıyorum


0

Bunu yapmanın başka bir yolu da satır içi görüntü kullanmak:

<?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();
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.