ম্যাজেন্টো স্টোরে শিরোনামের হোলপঞ্চিং


10

আমি ম্যাজেন্টোতে শিরোলেখীর হোলপঞ্চিং বাস্তবায়ন করেছি এবং আমি এটি প্রতি গ্রাহক ভিত্তিতে কাজ করে নিলেও, এটি আলাদা কার্ট আইটেমের গণনায়ও কাজ করে আমার এই এক স্তর আরও গভীর করে নেওয়ার ক্ষমতা প্রয়োজন need

এখানে আমার কোড।

    class AD_PageCache_Model_Container_Header extends Enterprise_PageCache_Model_Container_Abstract {

    protected function _getIdentifier() {
        return $this->_getCookieValue(Enterprise_PageCache_Model_Cookie::COOKIE_CUSTOMER, '');
    }

    // public function getCacheKeyInfo() {
    //  $info = parent::getCacheKeyInfo();
    //  die('boo');
    //  $info['cart_count'] = Mage::helper( 'checkout/cart' )->getCart()->getItemsCount();

    //  return $info;
    // }

    protected function _getCacheId() {
        //return 'CONTAINER_HEADER_' . md5($this->_placeholder->getAttribute('cache_id') . $this->_placeholder->getAttribute('cart_count') ) . '_' . $this->_getIdentifier();
        return 'CONTAINER_HEADER_' . md5( $this->_placeholder->getAttribute('cache_id') . $this->_getIdentifier() );
    }

    protected function _renderBlock() {
        $blockClass = $this->_placeholder->getAttribute('block');
        $template = $this->_placeholder->getAttribute('template');

        $block = new $blockClass;
        $block->setTemplate($template);
        return $block->toHtml();
    }

}

ম্যাজেন্টোতে হোলপঞ্চিং থ্রেডগুলি থেকে আমি যা পড়ছি তা থেকে আমার বুঝতে পারা যায় যে এফপিসি ক্যাশে অনুরোধটি পরিবেশন করছে তখন ম্যাগ অ্যাপটি আরম্ভ করা হয়নি, সুতরাং মূলত স্থানধারক বৈশিষ্ট্য যুক্ত করার পদ্ধতিটি কাজ করতে পারে না, যেহেতু

Mage::helper( 'checkout/cart' )->getCart()->getItemsCount();

কাজ করবে না, তাই না?

এবং যদিও এটি কেমন হওয়া উচিত, তবে এটি মোটেও চলবে বলে মনে হয় না, যেমন আমি die()সেখানে কল দিয়েছিলাম তবে কিছুই ঘটেনি।

তাহলে আমি কী মিস করছি? এবং আমি কীভাবে কার্ট আইটেমগুলি গণনা পুনরুদ্ধার করব যাতে এটি ক্যাশে আইডি তৈরি করতে ব্যবহার করা যায়?

অগ্রগতি: আমি পেয়েছি

Enterprise_PageCache_Model_Cookie::COOKIE_CART

তবে এটি শুধুমাত্র কার্ট আপডেটের পরে পরিবর্তন হয়। তার পরে এটি একই থাকে। এটি অদ্ভুত, সমাধানটির মতো এটি মনে হয় তবে এর আচরণ অন্যথায় বলে।

আমি সেশনে কার্ট আইটেম গণনা খুঁজে পাইনি। একমাত্র উপায় তাই আমি বর্তমানে এই কাজ করতে সেশনে কার্ট পরিমাণ সংরক্ষণ যখনই আপডেট এবং তারপর ব্যবহার করা হবে দেখতে _getIdentifier()

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

এছাড়াও, আমি কার্ট (উদ্ধৃতি) পরিবর্তনগুলিতে ফুল পৃষ্ঠা ক্যাশে অবৈধতা পড়েছি তবে এটি হ্যান্ডলগুলি ব্যবহার করে

Enterprise_PageCache_Model_Cookie::COOKIE_CART

যা আমার ক্ষেত্রে ভাল কাজ করে না, যদিও আমি মনে করি সমস্যাটি এর মধ্যে রয়েছে। কি কিভাবে? আমি নিশ্চিত না.

এছাড়াও আমাদের চলমান EE এর বর্তমান সংস্করণটির এমনকি অ্যাডভান্সড ফোল্ডারও নেই Model/Container। আমি ব্যাবহার করছিEE 1.10.1.1

কোন পরামর্শ?


নিশ্চিত নয়, তবে আমি মনে করি যে এই প্রশ্নটি স্ট্যাক ওভারফ্লো সম্পর্কিত, তবে এই সাইটটির সাথে সম্পর্কিত নয় ...
সের্গেই গুক

2
হোলপঞ্চিংটি এখানে অপ্রচলিত অর্থে ব্যবহৃত হয়েছে বলে মনে হচ্ছে, আপনি যে বৈশিষ্ট্যটি জার্গন ব্যবহার না করেই বাস্তবায়নের চেষ্টা করছেন তা ব্যাখ্যা করতে পারেন?
রাল্ফ টাইস

1
গ্রাহকদের কার্ট আইডিতে গ্রাহকরা কার্ট আইডি যুক্ত করবেন না কেন _getIdentifierতাই ব্লকটি গ্রাহকদের কার্টের জন্য, বা এমনকি তাদের কার্টের আইটেমের সংখ্যাটিও অনন্য?
B00MER

@ সের্গেইগুক ওয়েল এটি
ম্যাগান্টো

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

উত্তর:


3

ব্যবহার Enterprise_PageCache_Model_Cookie::COOKIE_CARTহ'ল সঠিক উপায়, তবে আপনার কিছু পরিবর্তন করতে হবে।

Enterprise_PageCache_Model_Observer::registerQuoteChangeপ্রতিটি উদ্ধৃতি সংরক্ষণ (আইটেম নম্বর পরিবর্তন অন্তর্ভুক্ত) এ আহ্বান জানানো হয় এবং এটি প্রসঙ্গে বলা হয় Mage::app()যাতে আপনি সমস্ত সেশন ডেটা অ্যাক্সেস করতে পারেন। এই পর্যবেক্ষককে $this->_getCookie()->setObscureমুছে ফেলুন এবং আরও ডেটা যুক্ত করুন যাতে যখনই আপনার প্রয়োজন হয় তখন মানটি পরিবর্তন হয়।


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