বর্তমান বিভাগের অবজেক্ট থেকে শীর্ষ পিতৃ বিভাগ কীভাবে পাবেন?


14

বর্তমান বিভাগের অবজেক্ট থেকে কীভাবে আমি শীর্ষ স্তরের পিতা মাতা বিভাগ (ডিফল্ট বিভাগের ঠিক পরে) পেতে পারি? আমি চাই যে বিভাগের নাম এবং বিভাগের URL এবং সেই পিতামাতার বিভাগের উপ-বিভাগগুলিতে প্রদর্শিত হোক।

  • ডিফল্ট বিভাগ
    • বিড়াল ক
      • বিড়াল বি
        • বিড়াল সি

কীভাবে আমি Cat Aএর নাম এবং ইউআরএল Cat Bএবং Cat Cবস্তু পেতে পারি?

উত্তর:


22

$category->getPath()গাছের শিকড় থেকে স্ল্যাশ ( /) দ্বারা পৃথক করা বর্তমানের সমস্ত বিভাগের আইডিকে ফিরিয়ে দেবে । এখানে একটি উদাহরণ হল: 1/2/56/124/543। প্রথমটি হ'ল 'শিকড়ের মূল'। দ্বিতীয়টি হল ক্যাটালগ রুট (ডিফল্ট বিভাগ)। তাদের বাকিগুলি সহজ বিভাগ categories সুতরাং আপনি এই মত কিছু করতে পারেন।

$path = $category->getPath();
$ids = explode('/', $path);
if (isset($ids[2])){
    $topParent = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($ids[2]);
}
else{
    $topParent = null;//it means you are in one catalog root.
}

এখন আপনি নাম এবং url এর মতো পেতে পারেন:

if ($topParent){
    $name = $topParent->getName();
    $url = $topParent->getUrl();
}

ধন্যবাদ মারিয়াস! getId()আমি এটি সংশোধন করে একটি টাইপো ছিল । এটি পুরোপুরি কাজ করছে।
MagExt

শীতল। টাইপো সম্পর্কে দুঃখিত। এবং সংশোধনের জন্য ধন্যবাদ।
মারিয়াস

হাই, কেউ কি আমাকে বিভাগের গাছের জন্য অফিসিয়াল ম্যাজেন্টো নথিতে উল্লেখ করতে পারেন?
মেংটি

@ মারিয়াস যখন আমি বিভাগের দিকটি পাই তখন সমস্ত বিভাগ 1/2 / <শ্রদ্ধেয় বিভাগের আইডি> আমার ডিফল্ট বিভাগের আইডি 2 হয় তবে এটি 1 কী?
প্রজাপতি

1
@ ইনভিসিবল আপনি ঠিক বলেছেন
মারিয়াস

15

এটা চেষ্টা কর

$level = $this->getCurrentCategory()->getParentCategory()->getLevel();
if($level > 1){                 
    echo $this->getCurrentCategory()->getParentCategory()->getName();
    }
    else{
    echo $this->escapeHtml($_category->getName());
    }

কেবল এই কোডটি অনুলিপি করুন এবং পেস্ট করুন :)


ওহে. আপনার উত্তরের জন্য ধন্যবাদ, তবে আপনি 5 মাস দেরী করেছেন :)
ম্যাগেক্সট

9
ম্যাজেন্টো স্ট্যাক আপনাকে স্বাগতম। আপনার যদি ইতিমধ্যে কোনও কভার করা হয়নি এমন একটি ভাল উত্তর থাকে তবে আপনি একটি পুরানো প্রশ্নের উত্তর দিতে যথেষ্ট সঠিক। উত্তরগুলি কেবল ওপি-র সুবিধার জন্য নয়, সম্প্রদায়ের কল্যাণের জন্য। এটা বজায় রাখা! :)
ম্যাকনাব

এই উত্তরটি ভুল হবে যদি আপনি 3 স্তরের এবং আরও গভীরতর হন, কারণ এটি প্রথম পিতামাতার কাছে ফিরে আসে, যখন প্রশ্নটি শীর্ষস্থানীয় ছিল।
gnysek

যদিও এটি সম্পূর্ণ সমাধান নয়, কাঙ্ক্ষিত স্তরটি না পৌঁছানো পর্যন্ত কেউ লুপ করতে পারে। আমাকে সঠিক দিকে ঠেলে দিয়েছে।
ডোমিনো

4

আপনি বর্তমান বিভাগে getPantCategories () ব্যবহার করতে পারেন এবং তারপরে শেষ উপাদানটি পেতে অ্যারে_পপ কল করতে পারেন। দ্বিতীয় শেষ উপাদানটি পেতে এটি দুবার করুন।

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