2011-11-26 45 views
1

我有一個PHP網站,現在我想添加一個購物車到我現有的PHP網站。 所以我用這個magento。如何查詢magento數據庫表以顯示類別和產品?

在我的網站的目錄中,我創建了一個名爲「shop」的新目錄,並將magento放在這個目錄中。

我的網站工作正常。但在網站的主頁上,我想顯示來自magento網站的類別和產品,因此我無法使用magento內置函數,因爲我的網站的主頁位於magento網站之外。

所以我想我應該查詢這個magento數據庫表,但magento數據庫表是如此複雜,所以任何身體誰可以給我一些關於這個問題的想法?

是否有任何其他方式來解決我的問題,如果唯一的查詢是解決方案,那麼我將如何查詢magento數據庫表來顯示類別和產品。

在此先感謝。

+1

直接SQL訪問是非常氣餒。如果模式更改,任何對Magento的升級都可能會破壞您的網站。使用@ khoekman的方法,你應該能夠避免升級 –

回答

4

我會嘗試這樣的事:

require 'shop/app/Mage.php'; 

/* Run magento app */ 
Mage::app(); 

function get_categories(){ 

    $category = Mage::getModel(’catalog/category’); 
    $tree = $category->getTreeModel(); 
    $tree->load(); 

    $ids = $tree->getCollection()->getAllIds(); 
    $arr = array(); 

    if ($ids){ 
     foreach ($ids as $id){ 
      $cat = Mage::getModel(’catalog/category’); 
      $cat->load($id); 
      array_push($arr, $cat); 
     } 
    } 
    return $arr; 
} 

$categories = get_categories(); 

foreach($categories as $cat) { 
    echo "<br />Category: " . $cat->getName(); 
    $collection = $cat->getProductCollection(); 
    foreach ($collection as $item) { 
    $product = Mage::getModel("catalog/product")->load($item->getId()); 
     echo "<br />Product: " . $product->getName(); 
    } 
} 
+1

如果我想添加3個最近添加的產品怎麼辦?那麼我應該修改這段代碼呢? – Ahmad

-1

您無需編寫複雜的查詢以顯示主頁中的某些類別。而是你可以添加以下在您的主頁(菜單> CMS>頁>主頁)

{{block type="catalog/product_list" category_id="3" template="catalog/product/list.phtml"}} 

其中CATEGORY_ID是要顯示的類別的ID。請參閱screenshot to get cat id

+0

但是它會顯示magento主頁上的類別而不是在我的網站主頁上?我想在網站主頁上顯示類別和產品,而不是在magento主頁上。 – Ahmad

+0

Op顯然是試圖訪問Magento之外的Magento數據。你的答案是在CMS頁面內工作。 –

+0

是的...這是我的錯誤..(對於所有人這個答案不適合這個問題) – balanv

相關問題