我想本質上創建一個分割屏幕視圖,一個充滿產品的遠程存儲庫的網格,另一個網格顯示網格中的本地存儲庫。加載遠程數據源到Magento管理產品網格
我認爲,基本上總結一下,如果你能告訴我如何簡單地將遠程源代碼納入網格,我會給出部分功勞......我想我甚至可以從那裏處理它。請仔細考慮一下,我真的不想聽到如何在config.xml中配置我的資源,我已經可以用遠程數據庫來做到這一點,我無法從它加載對象/集合。
謝謝你們。
我想本質上創建一個分割屏幕視圖,一個充滿產品的遠程存儲庫的網格,另一個網格顯示網格中的本地存儲庫。加載遠程數據源到Magento管理產品網格
我認爲,基本上總結一下,如果你能告訴我如何簡單地將遠程源代碼納入網格,我會給出部分功勞......我想我甚至可以從那裏處理它。請仔細考慮一下,我真的不想聽到如何在config.xml中配置我的資源,我已經可以用遠程數據庫來做到這一點,我無法從它加載對象/集合。
謝謝你們。
OK--所以對於我們這些嘗試過這樣的事情的人來說,你首先意識到的是,當你需要多個數據庫作爲模塊的源代碼時......實際上你需要模塊這樣做(如果我錯了,請有人加入並糾正我)。
第1步:創建一個「虛擬」模塊來連接遠程數據庫。這個模塊幾乎只包含etc /和Model/- 其他任何東西都不需要。我的config.xml文件看起來如下:
<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>
現在,你需要以下模型和資源文件:
/Model/Product.php
/Model/Mysql4/Product.php
/Model/Mysql4/Product/Collection.php
在Product.php:
class Mage_RepoDummy_Model_Product extends Mage_Catalog_Model_Abstract
{
public function _construct()
{
$this->_init('repodummy/product', 'entity_id');
}
}
在Mysql4/Product.php中
class Mage_RepoDummy_Model_Mysql4_Product extends Mage_Catalog_Model_Resource_Abstract
{
public function __construct()
{
parent::__construct();
$this->setType(Mage_Catalog_Model_Product::ENTITY)
->setConnection('repodummy_read', 'repodummy_write');
$this->_productWebsiteTable = $this->getTable('catalog/product_website');
$this->_productCategoryTable = $this->getTable('catalog/category_product');
}
}
並在Mysql4 /產品/ Collection.php
class Mage_RepoDummy_Model_Mysql4_Product_Collection extends Mage_Catalog_Model_Resource_Collection_Abstract {
protected function _construct()
{
$this->_init('repodummy/product');
}
}
只是準系統類型的東西,就像你在任何Magento的基本模型做。現在,從另一個模塊,這是操縱到任何其他數據庫,可能/可能是你的本地實例,你可以通過調用你的虛擬對象訪問此遠程數據存儲,如果你想測試這只是不喜歡簡單的東西:
$test = Mage::getModel('repodummy/product')->load(10367);
die("::".$test->getSku()."::");
...這個模型應該像大多數情況下的典型產品模型一樣運行,除非你使用遠程數據庫,快樂的編碼!
好吧,目前我正在嘗試創建一個基於catalog_product_flat_1在遠程數據庫中的模型,它創建的模型很好,但它不會加載任何數據。我已經嘗試了其他一些東西......如果一切都失敗了,我可能只是創建泛型varien_objects並將數據手動拉入到它們中,並將它們添加到泛型集合中......我知道它會像它一樣不起作用是。 – sucitivel