2013-05-02 146 views
18

我正在創建magento商店。我是magento的初學者。我想在我的phtml文件中獲得產品ID和產品輸入類型,這可能嗎?請指導我..在magento中獲取產品ID和產品類型?

我想通過這種方式來獲得產品類型。但它不是爲我工作

$product=Mage::getModel('catalog/product')->load($product_id); 
$productType=$product->getTypeID(); 

請指引我...

回答

51

嘗試下面的代碼來獲取當前負載的產品ID:

$product_id = $this->getProduct()->getId(); 

當你沒有獲得$此,你可以使用Magento的註冊表:

$product_id = Mage::registry('current_product')->getId(); 

也爲產品類型,我認爲

$product = Mage::getModel('catalog/product')->load($product_id); 

$productType = $product->getTypeId(); 
+0

@liyakat嗨。我知道了我的產品ID。我還需要獲得產品類型。請幫助我試圖$ _product-> getResource() - > getTypeId()這種方式,但我得到了致命錯誤:調用一個非對象的成員函數getCategoryIds() – 2013-05-02 07:00:49

+0

這是我的演示網址http:// demo。 osiztechnologies.com/printing/index.php/folders/9x14-5-folders – 2013-05-02 07:04:15

+0

@Nathan Srivi,我已更新我的答案請檢查 – liyakat 2013-05-02 07:13:30

2

你可以因此,對下面的代碼

$product_id=6//Suppose 
$_product=Mage::getModel('catalog/product')->load($product_id); 


    $product_data["id"]=$_product->getId(); 
    $product_data["name"]=$_product->getName(); 
    $product_data["short_description"]=$_product->getShortDescription(); 
    $product_data["description"]=$_product->getDescription(); 
    $product_data["price"]=$_product->getPrice(); 
    $product_data["special price"]=$_product->getFinalPrice(); 
    $product_data["image"]=$_product->getThumbnailUrl(); 
    $product_data["model"]=$_product->getSku(); 
    $product_data["color"]=$_product->getAttributeText('color'); //get cusom attribute value 


    $storeId = Mage::app()->getStore()->getId(); 
    $summaryData = Mage::getModel('review/review_summary')->setStoreId($storeId) ->load($_product->getId()); 
    $product_data["rating"]=($summaryData['rating_summary']*5)/100; 

    $product_data["shipping"]=Mage::getStoreConfig('carriers/flatrate/price'); 

    if($_product->isSalable() ==1) 
     $product_data["in_stock"]=1; 
    else 
     $product_data["in_stock"]=0; 


    echo "<pre>"; 
    print_r($product_data); 
    //echo "</pre>"; 
+0

我想如何獲得輸入類型的名稱或ID。指導我 – 2013-05-02 07:11:46

+0

Downvoted - 不回答問題。 – siliconrockstar 2015-08-31 05:31:22

+0

這回答了我當我來這裏如此有爭議時的問題! – 2017-07-24 19:41:58

6
<?php if($_product->getTypeId() == 'simple'): ?> 
//your code for simple products only 
<?php endif; ?> 

<?php if($_product->getTypeId() == 'grouped'): ?> 
//your code for grouped products only 
<?php endif; ?> 

讓所有的產品信息。 它的工作原理! Magento 1.6.1,放在view.phtml中

0

IN MAGENTO在數據庫中查詢並獲取結果。 產品編號,產品名稱和製造商 未使用產品平板表 使用eav catalog_product_entity及其屬性表 product_id product_name製造商 1 | PRODUCTA |諾基亞 2 | PRODUCTB |三星

1

您也可以嘗試這個..

$this->getProduct()->getId();

當你沒有獲得$這一點,你可以使用Magento的註冊表:

$cpid=Mage::registry('current_product')->getId();

2

項目集合。

$_item->product_type; 
$_item->getId() 

產品:

$product->getTypeId(); 
$product->getId() 
0

$product=Mage::getModel('catalog/product')->load($product_id);

上面的代碼不是爲我工作。其拋出異常;

這是爲我工作獲取產品詳細信息。

$obj = Mage::getModel('catalog/product'); $_product = $obj->load($product_id);

所以使用的產品類型。

$productType = $_product->getTypeId();

0

這個工作對我 -

if(Mage::registry('current_product')->getTypeId() == 'simple') { 

使用getTypeId()