我正在使用免费的magento扩展程序(WebForms)进行自定义调查,所以我已经安装并修改了它。 Extension的模型不使用EAV,涉及的表格包括:
| webforms |
| webforms_fields |
| webforms_fieldsets |
| webforms_results |
| webforms_results_values |
我添加了三个自定义属性:rating(int)到webforms_results_values,is_customer_survey(tinyint)到webforms,view_on_frontend(tinyint)到webforms_results。 该模块的模型包括:Webforms(映射webforms),Fields(映射webforms_fields),Fieldsets(映射webforms_fieldsets),Results(映射webforms_results)。现在webforms_results_values没有映射到模型上,我需要轻松操作我的自定义属性,所以我做了以下更改:
//在WebForms / Model上添加了一个名为Results的目录,在其中添加了一个文件Values.php(app / code / local / Custom / WebForms / Model / Results / Values.php class Custom_WebForms_Model_Results_Values 扩展Mage_Core_Model_Abstract { 公共函数_construct() { 父:: _构建体(); $这 - > _init( 'web表单/ results_values'); } }
//added two files in app/code/local/Custom/WebForms/Model/Mysql4:
//app/code/local/Custom/WebForms/Model/Mysql4/Results/Values.php
class Custom_WebForms_Model_Mysql4_Results_Values
extends Mage_Core_Model_Mysql4_Abstract
{
public function _construct(){
$this->_init('webforms/results_values','id');
}
}
//app/code/local/Custom/WebForms/Model/Mysql4/Results/Values/Collection.php
class Custom_WebForms_Model_Mysql4_Results_Values_Collection
extends Mage_Core_Model_Mysql4_Collection_Abstract
{
public function _construct(){
parent::_construct();
$this->_init('webforms/results_values');
}
}
然后我修改了etc / config.xml的部分:
<models>
<webforms>
<class>Custom_WebForms_Model</class>
<resourceModel>webforms_mysql4</resourceModel>
</webforms>
<results>
<class>Custom_WebForms_Model</class>
<resourceModel>webforms_mysql4</resourceModel>
</results>
<fields>
<class>Custom_WebForms_Model</class>
<resourceModel>webforms_mysql4</resourceModel>
</fields>
<fieldsets>
<class>Custom_WebForms_Model</class>
<resourceModel>webforms_mysql4</resourceModel>
</fieldsets>
<results_values>
<class>Custom_WebForms_Model</class>
<resourceModel>webforms_mysql4</resourceModel>
</results_values>
<webforms_mysql4>
<class>Custom_WebForms_Model_Mysql4</class>
<entities>
<webforms>
<table>webforms</table>
</webforms>
<fields>
<table>webforms_fields</table>
</fields>
<fieldsets>
<table>webforms_fieldsets</table>
</fieldsets>
<results>
<table>webforms_results</table>
</results>
<results_values>
<table>webforms_results_values</table>
</results_values>
</entities>
</webforms_mysql4>
</models>
现在通过这些更改,我可以使用save()在'webforms / results_values'模型上编写和保存评级,当我使用Mage :: getModel('webforms / results_values')检索该模型的集合时,有不跟踪新属性(所有previos属性都存在但不是新属性)。它与Collection.php或其他相关的东西?有什么帮助解决这个问题吗?
感谢名单! 路加
答案 0 :(得分:0)
尝试删除var / cache文件夹。
Magento缓存表格描述。因此,如果您添加了正确的字段,magento不知道它们是否存在。