OK - 이와 같은 것을 시도한 사용자의 경우, 모듈의 소스로 둘 이상의 데이터베이스를 원할 때 ... 실제로 필요한 것은 모듈 그렇게하려면 (누군가가 차임하고 내가 틀렸다면 나를 바로 잡습니다.)
1 단계 : 원격 데이터베이스에 연결할 "더미"모듈을 만듭니다. 이 모듈은 etc/and Model /을 포함해야합니다. - 다른 것을 필요로하지 않습니다.
<config>
<modules>
<Mage_RepoDummy>
<version>0.1.0</version>
</Mage_RepoDummy>
</modules>
<global>
<resources>
<repodummy_write>
<connection>
<use>repodummy_database</use>
</connection>
</repodummy_write>
<repodummy_read>
<connection>
<use>repodummy_database</use>
</connection>
</repodummy_read>
<repodummy_setup>
<connection>
<use>core_setup</use>
</connection>
</repodummy_setup>
<repodummy_database>
<connection>
<host><![CDATA[localhost]]></host>
<username><![CDATA[brandrepo]]></username>
<password><![CDATA[*******]]></password>
<dbname><![CDATA[brandrepo]]></dbname>
<model>mysql4</model>
<type>pdo_mysql</type>
<active>1</active>
</connection>
</repodummy_database>
</resources>
<models>
<repodummy>
<class>Mage_RepoDummy_Model</class>
<resourceModel>repodummy_mysql4</resourceModel>
</repodummy>
<repodummy_mysql4>
<class>Mage_RepoDummy_Model_Mysql4</class>
<entities>
<product>
<table>catalog_product_entity</table>
</product>
</entities>
</repodummy_mysql4>
</models>
</global>
<adminhtml>
</adminhtml>
이제 다음과 같은 모델 및 리소스 파일이 필요합니다 : Product.php에서
/Model/Product.php
/Model/Mysql4/Product.php
/Model/Mysql4/Product/Collection.php
:
class Mage_RepoDummy_Model_Product extends Mage_Catalog_Model_Abstract
{
public function _construct()
{
$this->_init('repodummy/product', 'entity_id');
}
}
다음과 같이 내 config.xml에 보인다 In Mysql4/Product.php
그리고 Mysql4/제품에서/Collection.php
당신은 마 젠토에있는 기본 모델을 위해 할 것 같은
class Mage_RepoDummy_Model_Mysql4_Product_Collection extends Mage_Catalog_Model_Resource_Collection_Abstract {
protected function _construct()
{
$this->_init('repodummy/product');
}
}
그냥 베어 본 타입의 물건.
$test = Mage::getModel('repodummy/product')->load(10367);
die("::".$test->getSku()."::");
: 당신은 그냥 같은 간단한 일을 할 이것을 테스트하기를 원한다면 이제 다른 모듈에서, 그 어떤 다른 데이터베이스에 조작 된 것, 아마/아마도 당신의 로컬 인스턴스, 당신은 당신의 더미 객체를 호출하여이 원격 데이터 저장소에 액세스 할 수 있습니다
...이 모델은 원격 데이터베이스, 즐거운 코딩을 사용한다는 점을 제외하면 대부분의 경우 일반적인 제품 모델처럼 작동해야합니다!
음, 현재 원격 데이터베이스에서 catalog_product_flat_1을 기반으로 모델을 만들려고 시도 중이지만 모델을 정상적으로 만들지 만 데이터를로드하지 않습니다. 나는 다른 것들을 시도해 봤어. 만약 다른 모든 것들이 실패한다면, 나는 단지 일반적인 varien_objects를 만들고 그 안에 수동으로 데이터를 가져 와서 그것을 generic 콜렉션에 추가 할 것이다. 나는 * 그것이 * inelegant로 작동한다는 것을 안다. 입니다. – sucitivel