尝试制作插件时,我几乎没有问题。

这是我的代码:

** mibloque.php

class Uniagro_Tpv_Block_Mibloque extends Mage_Core_Block_Template
{
    public function methodblock()
    {
        //return "informations about my block !!" ;
        //on initialize la variable
        $retour='';
        /* we are doing the query to select all elements of the pfay_test table (thanks to our model test/test and we sort them by id_pfay_test */
     $collection = Mage::getModel('tpv/tpv')->getCollection()->setOrder('id','asc');
         /* then, we check the result of the query and with the function getData() */
        foreach($collection as $data)
        {
             $retour .= $data->getData('banco').' '.$data->getData('codigotienda')
                     .' '.$data->getData('url').'<br />';
         }
         //i return a success message to the user thanks to the Session.
         Mage::getSingleton('adminhtml/session')->addSuccess('Cool Ca marche !!');
         return $retour;      
    }
}

** config.xml

<?xml version="1.0"?>
  <config>
     <modules>
        <Uniagro_Tpv>
          <version>1.0.0</version>
        </Uniagro_Tpv>
     </modules>
     <frontend>
       <routers>
          <routeurfrontend>
              <use>standard</use>
              <args>
                 <module>Uniagro_Tpv</module>
                 <frontName>pasarela</frontName> <!-- sirve a modo de ruta del modulo [...]/index y va al modulo -->
              </args>
           </routeurfrontend>
       </routers>
       <layout>
            <updates>
                <tpv>
                    <file>uniagropasarela.xml</file>
                </tpv>
            </updates>
        </layout>
    </frontend>
    <global>
        <blocks>
            <tpv>
                 <class>Uniagro_Tpv_Block</class>
            </tpv>
        </blocks>
        <models>
            <tpv>
                <class>Uniagro_Tpv_Model</class>
                <resourceModel>tpv_mysql4</resourceModel>
            </tpv>
            <tpv_mysql4>
                <class>Uniagro_Tpv_Model_Mysql4</class>
                <entities>
                    <tpv>
                        <table>uniagro_datosPasarela</table>
                    </tpv>
                </entities>
            </tpv_mysql4>
        </models>
        <resources>
            <!-- connection to write -->
            <tpv_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </tpv_write>
            <!-- connection to read -->
            <tpv_read>
              <connection>
                 <use>core_read</use>
              </connection>
            </tpv_read>
        </resources>
    </global>
</config>

**型号/tpv.php

class Uniagro_Tpv_Model_Tpv extends Mage_Core_Model_Abstract
{
     public function _construct()
     {
         parent::_construct();
         $this->_init('tpv/tpv');
     }
}

**型号/mysql4/tpv.php

class Uniagro_Tpv_Mysql4_Tpv extends Mage_Core_Model_Mysql4_Abstract
{
    public function _construct()
    {
        $this->_init('tpv/tpv', 'id');
    }
}

我正在尝试一些解决方案(例如,致命错误:在Magento中的非对象上致电成员函数getCollection()

[1]: 致命错误:在Magento中的非对象上致电成员函数getCollection() ),但请始终发送我的同样错误“致命错误:呼叫成员函数setOrdor()”

我会查看我的BD并有列订购('id')

有帮助吗?

解决方案

添加模型收集类并尝试

class Uniagro_Tpv_Mysql4_Tpv_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract{
    public function _construct(){
        $this->_init('tpv/tpv');
    }
}

编辑 (作为评论的结果):

问题是错误的命名/放置课程 Uniagro_Tpv_Mysql4_Tpv 属于 Model 区域必须是 Uniagro_Tpv_Model_Mysql4_Tpv

其他提示

这应该起作用。

$collection = Mage::getModel('tpv/tpv')->getCollection();
$collection->getSelect()->order('main_table.id ASC');
许可以下: CC-BY-SA归因
scroll top