簡體   English   中英

如何在Magento 1.8中獲取目錄產品數據?

[英]How to get catalog product data in Magento 1.8?

我在下面使用這些行來獲取CMS頁面數據,

// Get current cms page from Mage:getSingleton
$cms_id = Mage::getSingleton('cms/page')->getIdentifier();
$cms_title = Mage::getSingleton('cms/page')->getTitle();
$cms_content = Mage::getSingleton('cms/page')->getContent();
var_dump($cms_content);

如果我想獲取目錄產品數據該怎么辦? 例如,我想獲取產品名稱,

$_helper = $this->helper('catalog/output');
$product_id = Mage::getSingleton('catalog/product')->getIdentifier();
$product = Mage::getModel('catalog/product')->load($product_id);
echo $_helper->productAttribute($_product, $_product->getName(), 'name');

結果,

致命錯誤:在第6行的C:\\ wamp \\ www \\ mywebiste.com \\ app \\ design \\ frontend \\ mywebsite \\ default \\ template \\ page \\ html \\ banner.phtml中的非對象上調用成員函數getName()

有任何想法嗎?

要獲取特定類別/產品的目錄產品數據,可以使用以下代碼

    $id = 3; // need to pass id of particular category
    $store_id = 1; // need to pass store id if you have multiple store

    $currentCategory = Mage::getModel('catalog/category')->setStoreId($store_id)->load($id);
    $collection = $currentCategory->getProductCollection();
    $collection->load();

    foreach ($collection as $product):

    $product = Mage::getModel('catalog/product')->load($product->getId());// need to pass product id if want to load particular product

    $product_id = $product->getId();
    $product_name = $product->getName();
    $product_price = $product->getPrice();
    $product_img = Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getImage());

    endforeach;

getIdentifier不是您可以檢查的catalog/product類的成員函數

    $product_id = Mage::getSingleton('catalog/product');
    var_dump(method_exists($product_id, 'getIdentifier'));

因此,它不返回ProductId或加載Model ,結果是當方法getName()與空對象一起調用時,它引發致命錯誤

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM