データベーステーブルに値を挿入しようとしているmagento拡張機能を開発していますが、モデルがロードされていないという問題があります。
問題はsave()
、コントローラーで関数を呼び出すと、ページに次のエラーが表示されることです。
Fatal error: Call to a member function beginTransaction() on a non-object in /var/www/magento/app/code/core/Mage/Core/Model/Abstract.php on line 313
system.log
ファイルのエラーログを確認すると、次のエラーが表示されました。
Warning: include(Gwb/Magecrmsync/Model/Mysql4/Magecrmsync.php): failed to open stream: No such file or directory in /var/www/magento/lib/Varien/Autoload.php on line 93
私はそれをグーグルで検索しましたが、答えが見つかりませんでした。助けてください
これが私のconfig.xml
コードです:
<?xml version="1.0"?>
<config>
<!-- turn on our module, required for install support -->
<modules>
<Gwb_Magecrmsync>
<version>0.1.0</version>
</Gwb_Magecrmsync>
</modules>
<frontend>
<routers>
<magecrmsync>
<use>standard</use>
<args>
<module>Gwb_Magecrmsync</module>
<frontName>magecrmsync</frontName>
</args>
</magecrmsync>
</routers>
<layout>
<updates>
<magecrmsync>
<file>adminhtml.xml</file>
</magecrmsync>
</updates>
</layout>
</frontend>
<admin>
<routers>
<magecrmsync>
<use>admin</use>
<args>
<module>Gwb_Magecrmsync</module>
<frontName>magecrmsync</frontName>
</args>
</magecrmsync>
</routers>
</admin>
<adminhtml>
<menu>
<menu1 translate="title" module="magecrmsync">
<title>Synchronize</title>
<sort_order>999</sort_order>
<children>
<menuitem1 module="magecrmsync">
<title>Customers</title>
<action>magecrmsync/adminhtml_customers</action>
</menuitem1>
<menuitem2 module="magecrmsync">
<title>Orders</title>
<action>magecrmsync/adminhtml_orders</action>
</menuitem2>
<menuitem3 module="magecrmsync">
<title>Products</title>
<action>magecrmsync/adminhtml_products</action>
</menuitem3>
<menuitem4 module="magecrmsync">
<title>Settings</title>
<action>magecrmsync/adminhtml_settings</action>
</menuitem4>
</children>
</menu1>
</menu>
<acl>
<resources>
<admin>
<children>
<menu1 translate="title" module="magecrmsync">
<title>Synchronize</title>
<sort_order>999</sort_order>
<children>
<menuitem1>
<title>Customers</title>
</menuitem1>
<menuitem2>
<title>Orders</title>
</menuitem2>
<menuitem3>
<title>Products</title>
</menuitem3>
<menuitem4>
<title>Settings</title>
</menuitem4>
</children>
</menu1>
</children>
</admin>
</resources>
</acl>
</adminhtml>
<global>
<!-- turn on models -->
<models>
<magecrmsync>
<class>Gwb_Magecrmsync_Model</class>
<resourceModel>Magecrmsync_mysql4</resourceModel>
</magecrmsync>
<Magecrmsync_mysql4>
<class>Gwb_Magecrmsync_Model_Mysql4</class>
<entities>
<magecrmsync>
<table>magecrmsync</table>
</magecrmsync>
</entities>
</Magecrmsync_mysql4>
</models>
<!-- turn on models -->
<!-- turn on database connections -->
<resources>
<!-- setup is needed for automatic installation -->
<magecrmsync_setup>
<setup>
<module>Gwb_Magecrmsync</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</magecrmsync_setup>
<magecrmsync_write>
<connection>
<use>core_write</use>
</connection>
</magecrmsync_write>
<magecrmsync_read>
<connection>
<use>core_read</use>
</connection>
</magecrmsync_read>
</resources>
<blocks>
<magecrmsync>
<class>Gwb_Magecrmsync_Block</class>
</magecrmsync>
</blocks>
<helpers>
<magecrmsync>
<class>Gwb_Magecrmsync_Helper</class>
</magecrmsync>
</helpers>
<layout>
<magecrmsync>
<file>adminhtml.xml</file>
</magecrmsync>
</layout>
</global>
</config>
これが私のコントローラファイルの私の関数です:
public function settingsAction()
{
if($this->getRequest()->getPost())
{
try
{
$login_info = Mage::getModel('magecrmsync/magecrmsync');
$username = $this->getRequest()->getPost('username');
$password = $this->getRequest()->getPost('password');
$login_info->setUsername($username);
$login_info->setPassword(md5($password));
$login_info->save();
Mage::getSingleton('adminhtml/session')->addSuccess("Login Information has been updated successfully.");
}
catch(Exception $e)
{
Mage::getSingleton('adminhtml/session')->addError($e->getMessage());
}
}
else
{
Mage::getSingleton('adminhtml/session')->addError("Error! Please try again.");
}
$this->_redirect('/*/*');
}
ここで、モデルをロードできない問題を特定できる人はいますか?
どんな助けでも大歓迎であり、私にとって役に立ちます。
前もって感謝します