我试图覆盖第三方扩展中的模型,因此我可以在它使用的数据库表中添加更多列并对其进行操作。我在config.xml
中添加了以下内容:
<marketplace>
<rewrite>
<userprofile>ZeroBars_Marketplacepayment_Model_Userprofile</userprofile>
</rewrite>
</marketplace>
并将Userprofile.php
文件复制到我模块的Model文件夹中。 Userprofile中的代码调用我覆盖的先前模型的集合:
public function getPartnerProfileById($partnerId) {
$data = array();
if ($partnerId != '') {
$collection = Mage::getModel('marketplace/userprofile')->getCollection();
$collection->addFieldToFilter('mageuserid',array('eq'=>$partnerId));
...
现在我已拨打Fatal Error
来拨打addFieldToFilter
。我也试过复制Mysql4中的文件,但我不知道如何在配置中为它们添加覆盖。我怎么能搞清楚出了什么问题呢?
答案 0 :(得分:1)
KRay,要获得表格的集合,那么您需要为该模型定义集合
我需要获取该模块的类集合文件,该文件是获取表的所有数据
收集文件路径是Collection.php app / code / yourcodePOol / your pakkage name / Modulename / Model / Resource / Userprofile /
<?php
class YourPackagename_Modulename_Model_Resource_Userprofile_Collection
extends Mage_Core_Model_Resource_Db_Collection_Abstract{
protected function _constuct(){
$this->_init('marketplace/userprofile');
}
}
如果您使用mysql4作为资源模型,请尝试
<?php
class YourPackagename_Modulename_Model_Mysql4_Userprofile_Collection extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct()
{
$this->_init('marketplace/userprofile');
}
}