2012-06-11 152 views
0

我使用免費的magento擴展(WebForms)進行自定義調查,所以我安裝並修改了它。擴展的模型不使用EAV,也有涉及到的表:Magento - 自定義模型

| webforms         | 
| webforms_fields        | 
| webforms_fieldsets       | 
| webforms_results       | 
| webforms_results_values      | 

我添加了三個自定義屬性:等級(int)以webforms_results_values,is_customer_survey(TINYINT)到web表單,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(應用程序/代碼/本地/自定義/ Web窗體/型號/業績/ Values.php 類Custom_WebForms_Model_Results_Values 擴展Mage_Core_Model_Abstract { 公共職能_construct(){ 父 :: _結構(); $ 這 - > _init('webforms/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'); 
    } 
} 

然後我修改等/ 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> 
現在這些變化我能寫和「web表單/ results_values」模式節省評級,保存(

,當我用Mage :: getModel('webforms/results_values')檢索該模型的集合,沒有追蹤新屬性(所有previos屬性都存在,但不是新屬性)。它是否與Collection.php或其他內容有關?任何幫助解決這個問題?

thanx! LuKe

回答

0


嘗試刪除var/cache文件夾。
Magento緩存表說明。所以如果你已經添加了字段,magento不知道它們是否存在。

+0

解決了。無論如何 – Luke