2016-09-16 62 views
0

我是新的magento,我正在開發一個自定義模塊來爲每個記錄的客戶端保存一些信息,但是我的問題是:我不能將數據添加到我的表中,所以這就是我已經做:MAGENTO - 將數據添加到自定義模塊

config.xml中

<?xml version="1.0"?> 
<config> 
    <modules> 
    <Desing_ControlApp> 
     <version>0.1.0</version> 
    </Desing_ControlApp> 
    </modules> 
    <global> 
    <models> 
     <Desing_ControlApp> 
      <class>Desing_ControlApp_Model</class> 
      <resourceModel>Desing_ControlApp_mysql4</resourceModel> 
     </Desing_ControlApp> 
     <Desing_ControlApp_mysql4> 
      <class>Desing_ControlApp_Model_Mysql4</class> 
      <entities> 
       <Desing_ControlApp> 
        <table>Desing_ControlApp</table> 
       </Desing_ControlApp> 
      </entities> 
     </Desing_ControlApp_mysql4> 
    </models> 
    <helpers> 
     <controlapp> 
     <class>Desing_ControlApp_Helper</class> 
     </controlapp> 
    </helpers> 
    <blocks> 
     <controlapp> 
     <class>Desing_ControlApp_Block</class> 
     </controlapp> 
    </blocks> 
    <resources> 
     <controlapp_setup> 
     <setup> 
      <module>Desing_ControlApp</module> 
     </setup> 
     <connection> 
      <use>core_setup</use> 
     </connection> 
     </controlapp_setup> 
     <controlapp_write> 
     <connection> 
      <use>core_write</use> 
     </connection> 
     </controlapp_write> 
     <controlapp_read> 
     <connection> 
      <use>core_read</use> 
     </connection> 
     </controlapp_read> 
    </resources> 
    <events> 
     <controller_action_layout_load_before> 
       <observers> 
        <Desing_ControlApp> 
         <class>Desing_ControlApp/Observer</class> 
         <method>verificarApp</method> 
        </Desing_ControlApp> 
       </observers> 
      </controller_action_layout_load_before> 
    </events>  
    </global> 
    <admin> 
    <routers> 
     <controlapp> 
     <use>admin</use> 
     <args> 
      <module>Desing_ControlApp</module> 
      <frontName>admin_controlapp</frontName> 
     </args> 
     </controlapp> 
    </routers> 
    </admin> 
    <adminhtml> 
    <menu> 
     <controlapp module="controlapp"> 
     <title>ControlApp</title> 
     <sort_order>100</sort_order> 
     <children> 
      <controlappbackend module="controlapp"> 
      <title>GENERAL CODE</title> 
      <sort_order>0</sort_order> 
      <action>admin_controlapp/adminhtml_controlappbackend</action> 
      </controlappbackend> 
     </children> 
     </controlapp> 
    </menu> 
    <acl> 
     <resources> 
     <all> 
      <title>Allow Everything</title> 
     </all> 
     <admin> 
      <children> 
      <controlapp translate="title" module="controlapp"> 
       <title>ControlApp</title> 
       <sort_order>1000</sort_order> 
       <children> 
      <controlappbackend translate="title"> 
      <title>GENERAL CODE</title> 
      </controlappbackend> 
       </children> 
      </controlapp> 
      </children> 
     </admin> 
     </resources> 
    </acl> 
    <layout> 
     <updates> 
     <controlapp> 
      <file>controlapp.xml</file> 
     </controlapp> 
     </updates> 
    </layout> 
    </adminhtml> 
</config> 

我在這裏添加表mysql4_install-0.1.0.php

<?php 
    $installer = $this; 
    $installer->startSetup(); 
    $sql=<<<SQLTEXT 
     create table desinglog(
     log_id int not null auto_increment, 
     cliente_id smallint(8) unsigned default '0', 
     token varchar(255) default'0', 
     user varchar(255) default'0', 
     primary key(log_id)); 
     SQLTEXT; 
$installer->run($sql); 
//demo 
//Mage::getModel('core/url_rewrite')->setId(null); 
//demo 
$installer->endSetup(); 

,所以我有一個觀察者,我想從那裏插入數據,我把一個snipet給d ·其蒙山

$model = Mage::getModel('Desing_ControlApp/Desing_ControlApp')->.... 

,但我不能訪問,每次頁面顯示我「頁面無法正常工作」,所以我有什麼用,而不是Desing_ControlApp/Desing_ControlApp或我想念寫的東西?我無法找到一個關於這些的好教程。我在這裏發現了一些https://magento.stackexchange.com/questions/9863/magento-connect-to-database-from-a-module但沒有結果。

回答

1

我不能將數據添加到我的桌子」 - 問題是表名不匹配,你沒有在配置調用正確的表名。

在配置 <table>Desing_ControlApp</table>

<entities> 
    <Desing_ControlApp> 
    <table>Desing_ControlApp</table><!-- table name mismatch--> 
    </Desing_ControlApp> 
</entities> 

但在安裝文件

mysql4_install-0.1.0.phpcreate table desinglog(

現在更改配置調用正確的表,然後清除緩存

+0

嗨,我已經嘗試

desinglog
和 Desing_ControlApp_desinglog
。我的表名是desinglog,所以問題是,表名必須等於模塊名(Desing_ControlApp),否則我錯過了更多的東西?謝謝你的答案。 –

+0

*表名必須等於模塊名稱?*否。 *我錯過了更多的東西?*是的,你錯過了一些東西。 – Sathish

相關問題