如何发送我的 sql 以使用 magento 寻呼机

Posted

技术标签:

【中文标题】如何发送我的 sql 以使用 magento 寻呼机【英文标题】:how to send my sql to use magento pager 【发布时间】:2014-11-20 03:55:22 【问题描述】:

我创建了一个新数据库来提供自定义订单列表

我给数据库显示 SQL 代码 PS $sql 是多行

  $sql = select * from database_name WHERE customfilter like $customfilter limit $startfrom, $limit
    $result = mysqli_query($cn,$sql)
    $collection = mysqli_fetch_array($result)

而且我不知道要编辑哪个代码。我试图编辑产品页面上的代码以在此页面中使用,但它给出了错误。

谁能建议我编辑哪些代码来使用寻呼机。

下面是我试过的代码

$this->getCollection($collection);
$pager = $this->getLayout()->createBlock('page/html_pager', 'ordercustom.pager')
        ->setCollection($this->getCollection()); 
    $this->setChild('pager', $pager);
    return $this;

但它显示错误。

【问题讨论】:

【参考方案1】:

请查看下面的产品收集代码并设置页面大小限制。

$collection  = Mage::getModel ('catalog/product')
                    ->getCollection()                       -
                    ->addAttributeToSelect('*')
                    ->setPageSize($this->getRequest()->getParam("limit"))
                    ->load();

请采用上面的客户收藏页面大小并告诉我。

【讨论】:

我这个页面的class是class Custom_Customorder_Block_Index extends Mage_Core_Block_Template 我认为您错过了该模型的集合类。请从this wiki得到一个想法【参考方案2】:
$collection  = Mage::getModel ('customorder/index')
                        ->getCollection()
                        ->addAttributeToSelect('*')
                        ->addAttributeToFilter('customer_code', $customercode)
                        ->addAttributeToFilter('shipping', array('eq' => $shipping))
                        ->setPageSize($this->getRequest()->getParam("limit"))
                        ->load();
            $this->setCollection($collection);

显示致命错误:在非对象上调用成员函数 getCollection()

附言

customorder/index 在我的 customorder.xml 中

<block type="customorder/index" name="customorder" template="customorder/index.phtml"/>

PS

我的数据库不是magento的原始模型,它的文件名是customorder。

** 在我的试用页面代码上**

    先看看代码

    公共函数__construct()

        parent::__construct();
        $collection  = Mage::getModel ('ordercustom/index')
        ->getCollection()                       -
        ->addAttributeToSelect('*')
        ->addAttributeToFilter('customer_code', array('eq' => $customercode))
        ->addAttributeToFilter('shipping', array('eq' => $shipping))
        ->setPageSize($this->getRequest()->getParam("limit"))
        ->load();
        $this->setCollection($collection);
         
    
    protected function _prepareLayout()
            
                parent::_prepareLayout();
    
            $pager = $this->getLayout()->createBlock('page/html_pager', 'customorder.pager');
            $pager->setAvailableLimit(array(5=>5,10=>10,20=>20,'all'=>'all'));
            $pager->setCollection($this->getCollection());
            $this->setChild('pager', $pager);
            $this->getCollection()->load();
            return $this;
        
    
        public function getPagerHtml()
            
                return $this->getChildHtml('pager');
             
    
      在前端

echo $this->getPagerHtml();

【讨论】:

以上是关于如何发送我的 sql 以使用 magento 寻呼机的主要内容,如果未能解决你的问题,请参考以下文章

Magento:将“产品列表寻呼机”块放入 <head>

Magento 使用 varnish 进行整页缓存

magento没有发送任何邮件,如何调试?

如何以编程方式比较magento版本?

Magento“忘记密码”电子邮件以错误的语言发送

将活动回调发送到片段