2010-06-14 28 views
2

我正在構建一個網站,需要顯示來自Magento數據庫的一些產品信息,但將其顯示在Magento安裝之外的另一個頁面/網站上。我知道信息會顯示兩次,但我希望網站避免內容重複,並從唯一來源(Magento產品數據庫)提取相同的信息。是否可以查詢Magento數據庫並在Magento之外顯示產品屬性?

這是可行嗎?有人做過嗎?

回答

3

什麼將是一個更容易做的是在整個Magento的引擎拉入你的外部頁面。這[與其他Magento不同]很容易做到。

所有你需要做的是以下幾點:

//加載了Magento的核心 定義( 'Magento的',真實路徑( '/無功/網絡/ Magento的/'));

require_once(Magento的 '/app/Mage.php');

$ app = Mage :: app();

現在你可以使用任何Magento的對象/類的,如果你是Magento的內部,讓你的屬性

$product = Mage::getModel('catalog/product')->load(1234); 
$product->getSku(); 
$product->getYourCustomAttribute(); 

等等等等

+0

如果您的頁面不在同一臺服務器上,我會考慮使用Magento API來獲取您的產品數據。 – 2010-06-15 20:18:49

+0

哇!很多選擇!謝謝喬希。對於一些簡單的任務來說,Magento似乎過於複雜。我真的很想嘗試兩種解決方案。我猜這個API好像是一個整潔的方法。 – Landitus 2010-06-16 02:47:41

+0

謝謝Josh,幫了很多! – enloz 2011-10-29 18:04:45

0

是的,我已經做了幾個方法。最安全的方法是使用Magento公開的Web服務以編程方式查詢對象。這將使您免受數據庫級別的更改(例如最近添加的扁平產品目錄)。

如果失敗(如果web服務的性能不符合您的需求),則可以直接從數據庫重建目錄數據。使用下表(假設你不使用平板目錄):

eav_entity_type 
eav_attribute 
catalog_product_entity 
catalog_product_entity_int 
catalog_product_entity_varchar 
catalog_product_entity_text 
catalog_product_entity_decimal 
catalog_product_entity_datetime 

你會想嘗試在此之前就EAV models閱讀起來。請記住,這個在很大程度上是人們稱之爲Magento複雜的話題。

希望有幫助!

謝謝, 喬

+0

我應該在EAV數據庫轉換爲平坦的數據庫更簡單的方法? – Landitus 2010-06-15 05:04:16

相關問題