कैसे Magento 2 में कस्टम संग्रह पर पृष्ठ पर अंक लगाना


17

मैं कस्टम मॉड्यूल पर काम कर रहा हूं। मैं अपने कस्टम संग्रह के साथ डिफ़ॉल्ट मैगेंटो पेजिनेशन का उपयोग कैसे कर सकता हूं और उस पर कस्टम सीमाएं भी निर्धारित कर सकता हूं ?


1
जब मैंने अपने कस्टम मॉड्यूल को पेजेंटेशन और सीमा के लिए magento2 में बनाया तो मैंने इन लिंक ( mage-world.com/blog/… ) को संदर्भित किया और मैं इसे प्राप्त कर सका।
अर्जुन

क्या आप कृपया बता सकते हैं कि कस्टम मॉड्यूल में पेजिंग जोड़ने के लिए Magento कैटलॉग को कैसे ओवरराइड किया जा सकता है! उपरोक्त लिंक मुझे कुछ विचार मिला, मैं कैटलॉग मॉड्यूल में ओवरराइड करना चाहता
हूं

@SachinS पतली आप टूलबार के बारे में बात कर रहे हैं?
क़ैसर सत्ती

हाँ बिल्कुल ... मैंने यहाँ जो भी कोशिश की और उसमें
सुशीवम

@SachinS क्या आप टूलबार के साथ हासिल करना चाहते हैं और क्या आपने इस magento.stackexchange.com/questions/131805/… को
सत्ती

जवाबों:


26

उसके लिए संग्रह प्राप्त करें

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');
}

phtml फ़ाइल में

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

संदर्भ


Pssst: या तो $this->getRequest()->getParam('p') ?: 1, या बेहतर, अभी तक $this->getRequest()->getParam('p', 1)
nevvermind

मैं आईडी के साथ तत्व प्राप्त करता हूं जो पहले से मौजूद त्रुटि के लिए है जो भी मैं आपके कोड का उपयोग करके पैदा होने वाले पेजर ब्लॉक का नाम देता हूं।
LM_Fielding

@LM_Fielding ने अभी तक इस समस्या का सामना नहीं किया, लेकिन हटाने var/cacheऔर var/generationफ़ोल्डर का प्रयास करें
Qaisar Satti

मैं इसे ऊपर और नीचे एक टूलबार के लिए जोड़ने की कोशिश कर रहा था, इसलिए यह बिल्कुल सही था।
LM_Fielding

1
@LM_Fielding आप इसे दो बार जोड़ रहे हैं जिससे समस्या हो रही है।
क़ैसर सत्ती
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.