$product = Mage::registry('current_product'); if ($product) //sometimes need check for…
March 17, 2016
Magento: 根据产品属性加载产品信息 Load A Category or Product by an Attribute
Load a Product by ID
<?php // get product model by product id, assuming you have known product id, $productId $_product = Mage::getModel('catalog/product')->load($productId)
Load a Product by SKU
<?php $sku = 'my-product-sku'; $product = Mage::getModel('catalog/product')->load($sku, 'sku'); if ($product->getId()) { echo $product->getName(); echo $product->getProductUrl(); } else { echo 'Product not found with SKU of ' . $sku; }
Load a Product by an Attribute
<?php // Instantiate a product collection object $products = Mage::getResourceModel('catalog/product_collection'); // Select which fields to load into the product // * will load all fields but it is possible to pass an array of // select fields to load $products->addAttributeToSelect('*'); // Ensure the product is visible $products->addAttributeToFilter('visibility', array('neq' => 1)); // Ensure the product is enabled $products->addAttributeToFilter('status', 1); // Add Name filter $products->addAttributeToFilter('name', 'My Product Name'); // Limit the collection to 1 result $products->setCurPage(1)->setPageSize(1); // Load the collection $products->load(); if ($products->getFirstItem()) { $product = $products->getFirstItem(); echo $product->getName(); } else { echo 'No product exists with the name ' . $name; }
<?php // Print out the SQL query generated by the collection object so far echo $products->getSelect() . '<br/><br/>';
Loading a Category by an Attribute
<?php // Instantiate a category collection object $categories = Mage::getResourceModel('catalog/category_collection'); // Select which fields to load into the category // * will load all fields but it is possible to pass an array of // select fields to load $categories->addAttributeToSelect('*'); // Ensure the category is active $categories->addAttributeToFilter('is_active', 1); // Add Name filter $categories->addAttributeToFilter('name', 'My Category Name'); // Limit the collection to 1 result $categories->setCurPage(1)->setPageSize(1); // Load the collection $categories->load(); if ($categories->getFirstItem()) { $category = $categories->getFirstItem(); echo $category->getName(); } else { echo 'No category exists with the name ' . $name; }
本文: Magento: 根据产品属性加载产品信息 Load A Category or Product by an Attribute