Получить идентификатор продукта и тип продукта в magento?
Я создаю магазин magento. Я новичок в magento. Я хочу получить идентификатор продукта и тип ввода продукта в моем файле phtml, возможно ли это? пожалуйста, направь меня..
Я пытаюсь таким образом получить тип продукта. но это не работает для меня
$product=Mage::getModel('catalog/product')->load($product_id);
$productType=$product->getTypeID();
Пожалуйста, направь меня...
8 answers
Попробуйте использовать приведенный ниже код, чтобы получить идентификатор загруженного в данный момент продукта:
$product_id = $this->getProduct()->getId();
Если у вас нет доступа к $this, вы можете использовать реестр Magento:
$product_id = Mage::registry('current_product')->getId();
Также для типа продукта, я думаю,
$product = Mage::getModel('catalog/product')->load($product_id);
$productType = $product->getTypeId();
<?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, поместите в представление.phtml
Коллекция предметов.
$_item->product_type;
$_item->getId()
Продукт :
$product->getTypeId();
$product->getId()
Вы можете получить всю информацию о продукте из следующего кода
$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>";
Вы также можете попробовать это..
$это->getProduct()->getId();
Если у вас нет доступа к $this, вы можете использовать реестр Magento:
$cpid=Mage::реестр('текущий продукт')->getId();
В MAGENTO запросите в базе данных и получите результат, подобный. идентификатор продукта, название продукта и производитель без использования плоской таблицы продукта используйте eav catalog_product_entity и его таблицу атрибутов product_id имя_продукта производитель 1 | ПРОДУКТ | NOKIA 2| ПРОДУКТ | SAMSUNG
$product=Mage::getModel('catalog/product')->load($product_id);
Приведенный выше код не работает для меня. его исключение для броска;
Это работает для меня, чтобы получить подробную информацию о продукте.
$obj = Mage::getModel('catalog/product');
$_product = $obj->load($product_id);
Поэтому используйте для для типа продукта.
$productType = $_product->getTypeId();
Это сработало для меня -
if(Mage::registry('current_product')->getTypeId() == 'simple' ) {
Использовать getTypeId()