ম্যাজেন্টো 2-এ কীভাবে কাস্টম সংগ্রহের উপর পৃষ্ঠাগুলি যুক্ত করবেন


17

আমি কাস্টম মডিউল নিয়ে কাজ করছি। আমি কিভাবে ডিফল্ট Magento ব্যবহার করতে পারেন পত্রাঙ্কন আমার সঙ্গে কাস্টম সংগ্রহ এবং যে কাস্টম সীমা সেট?


1
পৃষ্ঠাগুলি ও সীমাবদ্ধতার জন্য যখন আমি আমার কাস্টম মডিউলটি তৈরি করলাম তখন আমি এই লিঙ্কগুলি ( mage-world.com/blog/… ) উল্লেখ করেছি এবং আমি এটি সম্পন্ন করতে পারি।
অর্জুন

আপনি কীভাবে কাস্টম মডিউলে পৃষ্ঠাগুলি যুক্ত করার জন্য ম্যাজেন্টো ক্যাটালগকে ওভাররাইড করবেন তা ব্যাখ্যা করতে পারেন! উপরের লিঙ্কটি আমি কিছু ধারণা পেয়েছি, আমি ক্যাটালগ মডিউলটিতে ওভাররাইড করতে চাই
সুশীবাম

@ সচিনস আপনি কি টুলবার সম্পর্কে কথা বলছেন?
কায়সার সতী

হ্যাঁ ঠিক ... আমি এখানে কী চেষ্টা করেছি এবং ত্রুটিটি বর্ণনা করেছি ... magento.stackexchange.com/questions/131896/…
সুশীবম

@ সাচিনস আপনি টুলবার দিয়ে কী অর্জন করতে চান এবং আপনি কি এই ম্যাজেন্টো.স্ট্যাকেক্সেঞ্জার
কায়সার

উত্তর:


25

যে জন্য সংগ্রহ পেতে

public function getNews()
    {
      //get values of current page
        $page=($this->getRequest()->getParam('p'))? $this->getRequest()->getParam('p') : 1;
    //get values of current limit
        $pageSize=($this->getRequest()->getParam('limit'))? $this->getRequest()->getParam('limit') : 1;


        $newsCollection = $this->newscollectionFactory->create();
        $newsCollection->addFieldToFilter('is_active',1);
        $newsCollection->setOrder('title','ASC');
        $newsCollection->setPageSize($pageSize);
        $newsCollection->setCurPage($page);
        return $newsCollection;
    }

পৃষ্ঠাগুলি যুক্ত করুন

protected function _prepareLayout()
{
    parent::_prepareLayout();
    $this->pageConfig->getTitle()->set(__('News'));


    if ($this->getNews()) {
        $pager = $this->getLayout()->createBlock(
            'Magento\Theme\Block\Html\Pager',
            'test.news.pager'
        )->setAvailableLimit(array(5=>5,10=>10,15=>15))->setShowPerPage(true)->setCollection(
            $this->getNews()
        );
        $this->setChild('pager', $pager);
        $this->getNews()->load();
    }
    return $this;
}

চাইল্ড ব্লক যুক্ত

public function getPagerHtml()
{
    return $this->getChildHtml('pager');
}

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

    <?php if ($block->getPagerHtml()): ?>
        <div class="order-products-toolbar toolbar bottom"><?php echo $block->getPagerHtml(); ?></div>
    <?php endif ?>

উল্লেখ


পিএসএসটি: হয় $this->getRequest()->getParam('p') ?: 1বা আরও ভাল $this->getRequest()->getParam('p', 1),।
নেভভারমাইন্ড

আমি আপনার কোডটি ব্যবহার করে তৈরি করা পেজার ব্লকের নামকরণের চেষ্টা করি না কেন আইডি সহ উপাদানটি ইতিমধ্যে বিদ্যমান রয়েছে।
এলএম_ফিল্ডিং

@ এলএম_ফিল্ডিং এখনও এই সমস্যার মুখোমুখি হয়নি তবে মোছা var/cacheএবং var/generationফোল্ডারটি চেষ্টা করুন
কায়সার সত্তী

আমি এটিকে উপরে এবং নীচে একটি সরঞ্জামদণ্ডের জন্য যুক্ত করার চেষ্টা করছিলাম, তাই এটি ঠিক ছিল।
এলএম_ ফিল্ডিং

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