<global>
<models>
<starmall_shipment>
<class>Starmall_Shipment_Model</class>
<resourceModel>starmall_shipment_mysql4</resourceModel>
</starmall_shipment>
<starmall_shipment_mysql4>
<class>Starmall_Shipment_Model_Mysql4</class>
<entities>
<shipment>
<table>starmall_shipment</table>
</shipment>
</entities>
</starmall_shipment_mysql4>
</models>
</global>
バックエンドのカスタム グリッドが機能しており、データを含むグリッドが表示されます。
デバッグ テストとして、次の Grid.php にある_prepareCollection
:
$x = Mage::getModel('starmall_shipment/shipment');
$x->load(3);
var_dump($x); // WORKS and I get information
これをスタンドアロン スクリプトで実行すると、次のようになります。
<?php
define("MAGE_BASE_DIR", "/home/users/xxx/xxx");
require_once MAGE_BASE_DIR . '/app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
$x = Mage::getModel('starmall_shipment/shipment');
$x->load(3);
var_dump($x);
?>
次のエラーが表示されます。
No such file or directory in /home/users/xxx/xxx/lib/Varien/Autoload.php
Failed opening 'Mage/Starmall/Shipment/Model/Shipment.php'
なぜMage
モデルの前に追加するのですか? 私の設定で何が間違っている可能性がありますか?
追加情報:
/app/etc/Starmall_Shipment.xml
<config>
<modules>
<Starmall_Shipment>
<active>true</active>
<codePool>local</codePool>
</Starmall_Shipment>
</modules>
本当の問題 (おそらく)
私の Magento ホスティング プロバイダーは、/app/etc/local.xml
Magento のインストール時にこのタグのデフォルトの int を配置します。
<cache>
<backend>memcached</backend>
<memcached>
<servers>
<server>
<host>unix:///path/to/memcached.sock</host>
<persistent>0</persistent>
<port>0</port>
</server>
</servers>
</memcached>
</cache>
このタグをコメントアウトするloadModules()
と、スクリプトで使用する必要がなくなります。
本番モードに入るときにこれをオンに戻す必要があるのだろうか?