ম্যাজেন্টো 2: ক্যাটালগে কাস্টম বৈশিষ্ট্যটি কীভাবে প্রদর্শন করবেন?


13

নিম্নলিখিত সেটিংস হ্যাঁ সেট করে আমি একটি নতুন পাঠ্য ক্ষেত্রের বৈশিষ্ট্য তৈরি করেছি:

Visible on Catalog Pages on Storefront
Used in Product Listing

অ্যাট্রিবিউটটি একটি অ্যাট্রিবিউট সেটকে বরাদ্দ করা হয় এবং এটি পণ্য দর্শনে উদ্দেশ্য হিসাবে প্রদর্শিত হয়।

তবে এটি ক্যাটালগ ভিউতে দৃশ্যমান নয়, আমি ডিফল্ট লুমা থিমটি ব্যবহার করছি এবং আমি ক্যাশে সাফ করে দিয়েছি এবং পুনরায় সূচিযুক্ত করেছি। আমি যদি টেম্পলেট ফাইলটি দেখি:

magento-catalog/view/frontend/templates/product/list.phtml

আমি কাস্টম বৈশিষ্ট্যগুলি প্রাপ্ত কোনও কোড পাই না, সুতরাং লুমা থিমটি ডিফল্টরূপে এটি সমর্থন করবে বলে মনে হয় না।

আমি কীভাবে একটি পণ্য কাস্টম অ্যাট্রিবিউট লেবেল এবং list.phtml এর মান পেতে পারি ?

উত্তর:


22

আমরা নীচের মত কাস্টম বৈশিষ্ট্য মান পেতে পারি

গুণ মান

<?php /* @escapeNotVerified */ echo $_product->getResource()->getAttribute('c_address')->getFrontend()->getValue($_product); ?>

লেবেল

$address =$_product->getResource()->getAttribute('c_address')->getStoreLabel();

দ্রষ্টব্য: উপরের লাইনে সি_ড্রেস হ'ল আমার কাস্টম বৈশিষ্ট্য কোড code

রেফারেন্স: Magento/Catalog/templates/product/view/attribute.phtml


বৈশিষ্ট্যটি একধরণের হলে এটি কাজ করে না media image
লুস্ক্কু

@ বিলাল, আমার জন্য কাস্টম বৈশিষ্ট্যগুলি list.phtml এ "মারাত্মক ত্রুটি getFrontend" দেখায়। কীভাবে এই ত্রুটিটি এড়াতে পারেন দয়া করে আপনার যদি কোনও ধারণা থাকে তবে দয়া করে বলতে পারেন
হিতেশ বালপান্দে

11

আমি এটি সম্পর্কে একটি নিবন্ধ তৈরি করেছি, এটিতে কেবল 5 টি পদক্ষেপ রয়েছে :

1 - স্টোর> বৈশিষ্ট্য> পণ্যগুলিতে আপনার বৈশিষ্ট্য তৈরি করুন ।

2 - ডিফল্ট গোষ্ঠীতে বৈশিষ্ট্যটি সেট করুন, স্টোর> বৈশিষ্ট্য> বৈশিষ্ট্য সেট এ যান

3 - আপনার পণ্যগুলিতে এই বৈশিষ্ট্যের মান সেট করুন।

4 - আপনার কাস্টম থিমটি নীচে সম্পর্কিত ফাইলটি খুলুন:

app/design/frontend/CUSTOM/THEME/Magento_Catalog/templates/product/list.phtml

5 - ফোরচ ফাংশনের মধ্যে নীচে এই কোডটি পেস্ট করুন, তবে আপনার সঠিক বৈশিষ্ট্যের কোড পরিবর্তন করুন:

$_getMyAttr = $_product->getResource()->getAttribute('my_attribute');

if ($_getMyAttr){

    // Get Value
    $attrTestValue = $_getMyAttr->getFrontend()->getValue($_product);

    // Get Label
    $attrTestLabel = $_getMyAttr->getStoreLabel();
}

গুরুত্বপূর্ণ

নিশ্চিত করুন যে "ফ্রন্ট-এ প্রোডাক্ট ভিউ পৃষ্ঠায় দৃশ্যমান" এবং স্টোরফ্রন্টের সম্পত্তি হিসাবে "পণ্য তালিকাতে ব্যবহৃত" বিকল্পগুলি হ্যাঁ সেট করা আছে।

তথ্যসূত্র: https://rafaelstz.github.io/magento/magento2-display-custom-attribute-catalog-list-products.html


media image"ফ্রন্ট-এন্ড প্রোডাক্ট ভিউ পৃষ্ঠায় দৃশ্যমান" এবং "পণ্য তালিকায় ব্যবহৃত" বৈশিষ্ট্য সহ স্থিরযোগ্য নয়।
লুকস্কু

দাম বৈশিষ্ট্যের জন্য একই
কমপ্যাক্টকোড

আমি ডিফল্ট list.phtml কোথায় খুঁজে পাব?
মাইকবার্তিয়ান

হ্যালো, অ্যাট্রিবিউট লেবেল আমার পক্ষে কাজ করছে তবে গুণ মান নয়
সর্বवेश তিওয়ারি

6

এটা ব্যবহার কর

$attribute = $_product->getResource()->getAttribute('identifier'); 
if ($attribute) 
{ 
$attr_value = $attribute ->getFrontend()->getValue($_product); 
}

1

@mikebertiean ডিফল্ট list.phtml নেভিগেট অনুসন্ধান করতে

<Magento base>/vendor/magento/module-catalog/view/frontend/templates/product

একবার আপনি এটি অনুলিপি করেছেন এবং এটিকে পরিবর্তন করেছেন এবং রাফেলের উল্লেখযোগ্য পথে এটি যুক্ত করেছেন, আপনার কেবল আপনার ক্যাশে ফ্লাশ করা উচিত এবং এটি কাজ করবে।


0

খোলা

app/design/frontend/CUSTOM/THEME/Magento_Catalog/templates/product/list.phtml

ফোরচ লুপের মধ্যে নিম্নলিখিতটি যুক্ত করুন।

<?php

$brand_attribute = $_product->getResource()->getAttribute('brand');

if ($brand_attribute){

    // Get Value
    $brand_value = $brand_attribute->getFrontend()->getValue($_product);

    // Get Label
    $brand_lable = $brand_attribute->getStoreLabel();
    echo $brand_lable." : ".$brand_value;
}

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