পিএইচটিএমএল পৃষ্ঠা এবং সিএমএস ব্লকগুলিতে একটি স্থিতিশীল চিত্র যুক্ত করুন: Magento2


33

আমি কীভাবে পিএইচটিএমএল পৃষ্ঠায় একটি স্থিতিশীল চিত্র এবং সিএমএস ব্লকগুলি Magento2 এ যুক্ত করতে পারি? Magento 1.x এ এটি ব্যবহার সম্ভব ছিল$this->getSkinUrl('images/xyz.jpg')

আমি Magento2 তে নিম্নলিখিত পদ্ধতিটি চেষ্টা করছি

পিএইচটিএমএল ফাইলটিতে:

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

সিএমএস ব্লকে:

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

তবে এটি সঠিকভাবে কাজ করছে না। আমাকে আমার ভুলগুলি পরামর্শ দিন


আপনার চেষ্টা ভাল মনে হচ্ছে। আপনাকে ব্যাকএন্ড থেকে আপনার ক্যাশে ফ্লাশ করার পাশাপাশি ম্যানুয়ালি ক্যাশে ফাইলটি সরিয়ে ফেলতে হবে/var/cache
প্রফুল রাজপুত

উত্তর:


51

ইমেজ ইউআরএল সিনট্যাক্স উভয়ের জন্যই ঠিক আছে static blockএবং phtml, তবে আপনি যখন এই কোডটি স্ট্যাটিক ব্লকে লেখেন তখন তা নিশ্চিত হন

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

সামনের প্রান্তে দেখে মনে হচ্ছে

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

কোথায় Magento/lumaহয় packageনাম এবং themeনাম, আপনি আপনার সঙ্গে প্রতিস্থাপন করতে পারেন packageএবং themeনাম

সুতরাং আপনার যত্ন নিতে হবে slide-bg.jpgএটি বিদ্যমান

pub/static/frontend/Magento/luma/en_US/images ডিরেক্টরি।

তোমার ক্ষেত্রে,

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

সিনট্যাক্সটি ঠিক আছে বলে মনে হচ্ছে, তবে সম্মুখভাগে এটি দেখতে দেখতে ভাল লাগে

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

সুতরাং আপনি যে footer-logo.pngবিদ্যমান আছে তা নিশ্চিত করতে হবে

pub/static/frontend/Magento/luma/en_US/images ডিরেক্টরি।

এবং সম্পর্কে ভুলবেন না "[quotation marks]


viewজন্য pub/static/frontend/Namespace/theme/locale storeসাইটের URL এর জন্য
প্রফুল রাজপুত

15

আপনার কাস্টম মডিউলের জন্য একটি ডিরেক্টরি কাঠামো তৈরি করুন

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

এবং পিএইচটিএমএলে নিম্নলিখিত কোড ব্যবহার করুন

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

THX,

@ জেডএফনার্ড মোস্ট ওয়েলকাম
মনিশ

7

সহজ সমাধান:

  1. আপনার ছবিটি আপনার ম্যাজেন্টো 2 পথে রাখুন:

    /app/design/frontend/< Vendor >/< theme >/web/images
  2. চিত্রটি পিএইচটিএমএল কল করতে এই কোডটি ব্যবহার করুন:

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

1

আপনি যদি জিনিসগুলিকে আরও কিছুটা সংগঠিত রাখতে চান তবে আপনার কাস্টম থিমের অধীনে আপনার ওভাররাইড হওয়া মূল মডিউলগুলির জন্য চিত্রগুলি যুক্ত করতে পারেন। উদাহরণস্বরূপ, নিউজলেটার ফর্মের জন্য আমার একটি চিত্র দরকার। আমি একটি ইমেজ যুক্ত করেছি

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

এবং আমার app/design/frontend/<Vendor>/<theme>/Magento_Newsletter/templates/subscribe.phtmlফাইলে আমি এটি চিত্রের উত্স পেতে নীচের মত ব্যবহার করেছি

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

আমি ম্যাজেন্টো ভি 2.2 ব্যবহার করি


0

এটি করার আরেকটি উপায় হ'ল একটি ইনলাইন চিত্র ব্যবহার করা:

<?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();
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.