নির্বাচিত বহুবিধ বৈশিষ্ট্যের মান পান


14

নিম্নলিখিত "গাড়ী" পণ্য নিন: ভক্সওয়াগেন গল্ফ

car_optionsনিম্নলিখিত সম্ভাব্য বিকল্পগুলি এবং তাদের আইডির সাথে এটির একটি বহুবিধ বৈশিষ্ট্য রয়েছে:

  • এয়ারকো (আইডি = 123) নির্বাচিত
  • রেডিও (আইডি = 124) নির্বাচিত
  • ব্লুটুথ (আইডি = 125)
  • নেভিগেশন (আইডি = 126)

রেডিও এবং এয়ারকো এই পণ্যটির জন্য নির্বাচিত হয়েছে। আমি কীভাবে এই দুটি মান (রেডিও, এয়ারকো) পেতে এবং সেগুলি প্রদর্শন করতে পারি? pr _উত্তর দেওয়া হয়।

উত্তর:


19

এটা চেষ্টা কর:

echo $_product->getResource()->getAttribute('car_options')->getFrontend()->getValue($_product);

আমি আউটপুট পাই না! এটি কোনও ড্রপডাউন নয়, তবে একটি বহুবিধ বৈশিষ্ট্য!
এসপিআরবিএনএন

এটি এখনও একটি বহুবিশেষের সাথে কাজ করা উচিত, আমি কেবল এটি চেষ্টা করেছি। চেষ্টা var_dump($_product->getData('car_options');করে দেখুন আউটপুটটি। এটি একটি কমা দ্বারা পৃথক স্ট্রিং হওয়া উচিত, যদি তা না হয় তবে আমি কেবলমাত্র একটি তৃতীয় পক্ষের মডিউল হস্তক্ষেপ করছে তা কল্পনা করতে পারি।
মায়ার্স

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

যদি $_product->getData('car_options')NULL ফেরত দেয়, এর অর্থ এটি আপনার পণ্য সংগ্রহের সাথে যুক্ত হয় না। আপনি এই বৈশিষ্ট্যটি কোথায় অ্যাক্সেস করার চেষ্টা করছেন সে সম্পর্কে আমাদের আরও জানতে হবে
মেয়ার্স

আমি একটি সমাধান খুঁজে পেয়েছি - আমার উত্তর দেখুন।
এসপিআরবিএনএন

2
$ অবজেক্ট ম্যানেজার = \ ম্যাজেন্টো \ ফ্রেমওয়ার্ক \ অ্যাপ \ অবজেক্ট ম্যানেজার :: getInstance (); $ product = $ অবজেক্ট ম্যানেজার-> পান ('ম্যাজেন্টো \ ক্যাটালগ \ মডেল \ পণ্য') -> লোড ($ প্রোডাক্ট_আইডি);

$ গুণাবলী = $ পণ্য-> getResource () -> getAttributeRawValue ($ product_id, 'my_custom_attribute_code', $ storeid);

এটি কাজ করে .. আশা করি এটি আপনাকে সাহায্য করবে ..


দুর্দান্ত ... এটি কবজির মতো কাজ করে !!!!!
স্নেহা পঞ্চাল

জানতে পেরে আনন্দিত :) @ স্নেহাঞ্চল
সমীর

0

নিম্নলিখিত কোড

  1. এই পণ্যটির জন্য নির্বাচিত বিকল্পগুলির মান আইডিগুলি প্রদান করে: 123,124
  2. এটিকে অ্যারেতে পরিণত করে: অ্যারে (123,124)
  3. তারপরে এই বিকল্পগুলির লেবেলটি খুঁজে পান: 123 => এয়ারকো এবং 124 => রেডিও
  4. এবং একটি পাঠ্য স্ট্রিংয়ের মানগুলি প্রদান করে: এয়ারকো, রেডিও
att _attribute_code = 'car_options';
$ car_options_csv = maage :: getResourceModel ('ক্যাটালগ / পণ্য') -> getAttributeRawValue ($ productId, $ _attribute_code, $ storeId); // রিটার্ন: 123,124
$ car_options = বিস্ফোরিত (',', $ car_options_csv);
$ অ্যাট্রিবিউটআইডি = ম্যাজ :: গেটআরসোর্সমোডেল ('ইভা / সত্তা_প্রেম') -> getIdByCode ('ক্যাটালগ_প্রডक्ट', $ _ বৈশিষ্ট্য_কোড);
$ বৈশিষ্ট্য = ম্যাজ :: গেটমোডেল ('ক্যাটালগ / উত্স_ইভ_অ্যাট্রিবিউট') -> লোড ($ বৈশিষ্ট্যযুক্ত);
; গুণাবলী = $ গুণ -> গেটসোর্স () -> getAllOptions ();

$ res = '';
ভবিষ্যদ্বাণী ($ এ্যাট্রিবিউটশনগুলি $ এ হিসাবে)
{
    $ l = $ এ ['লেবেল'];
    $ এম = $ এ ['মান'];
    যদি (স্ট্রেন (ট্রিম ($ l))> 0 && ইন_আরে ($ এম, $ গাড়ী_পশন))
    {
        $ রেস। = ট্রিম ($ l)। ',';
    }
}
প্রতিধ্বনি সাবস্ট্রাস্ট ($ রেস, 0, -2) ;;

খুব - আপনি সাধারণত এই রাস্তায় যেতে চান না। বিশেষত যেহেতু মায়ারের উত্তর উপরে রয়েছে ঠিক আছে। আপনি যদি এইভাবে ম্যাজেন্টোর অনুবাদ সিস্টেমকে বাইপাস না করেন তবে আমি নিশ্চিত নই - যদিও পরীক্ষা করে দেখিনি।
কর্মপ্রবাহ

0

ধন্যবাদ @ মায়ার্স, তার সমাধানটি নেটিভ getAttributeText ওভাররাইড না করে খুব ভাল:

 public function getAttributeText($attributeCode)  
 {
    return $this->getResource()
        ->getAttribute($attributeCode)
        ->getFrontend()
        ->getValue($this);
 }

এবং পাশাপাশি গ্রাহক মডেল যুক্ত করতে।

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