product collection
我只是想从in 中检索产品名称以及其他基本信息,Magento
但只是得到错误或返回 null。这是为了创建我自己的特色产品块。
我正在尝试从主页中执行此操作(专门创建,而不是使用预先构建的 1-column/2-column 等):
app\design\frontend\default\eyt2012\template\page\homepage.phtml
在我的主页中,我正在像这样加载集合
$category = new Mage_Catalog_Model_Category();
$category->load(236);
$_productCollection = $category->getProductCollection();
然后我借用<ul>
from中的代码list.phtml
,我知道它是有效的:
app\design\frontend\default\eyt2012\template\catalog\product\list.phtml
以带有图像、标题和价格的漂亮网格格式输出集合中的所有产品。
到目前为止,我总共有:
<div class="featured-products">
Products of the week
<?php
$category = new Mage_Catalog_Model_Category();
$category->load(236);
$_productCollection = $category->getProductCollection();
?>
<ul class="products-grid">
<?php $_collectionSize = $_productCollection->count() ?>
<?php $_columnCount = 5 ?>
<?php
$i=0; foreach ($_productCollection as $_product):
$i++;
?>
<li class="item<?php if(($i-1)%$_columnCount==0): ?> first<?php elseif($i%$_columnCount==0): ?> last<?php endif; ?>">
1
<a
href="<?php echo $_product->getProductUrl() ?>"
title="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>"
class="product-image">
<span class="placeholder"></span>
<img src="<?php echo $this->helper('catalog/image')->init($_product, 'small_image')->resize(155); ?>" alt="<?php echo $this->stripTags($this->getImageLabel($_product, 'small_image'), null, true) ?>" />
</a>
2
<?php if ($_product->getbrands()):?>
<span class="brandname"><?php echo $_product->getAttributeText('brands') ?></span>
<?php endif;?>
3 ! Code currently gets to here before error occurs
<h2 class="product-name"><a href="<?php echo $_product->getProductUrl() ?>" title="<?php echo $this->stripTags($_product->getName(), null, true) ?>"><?php echo $_helper->productAttribute($_product, $_product->getName(), 'name') ?></a></h2>
4
<?php echo $this->getPriceHtml($_product, true) ?>
5
<div class="actions">
<?php if($_product->isSaleable()): ?>
<button type="button" title="<?php echo $this->__('Add to Cart') ?>" class="button btn-cart" onclick="setLocation('<?php echo $this->getAddToCartUrl($_product) ?>')"><span><span><?php echo $this->__('Add to Cart') ?></span></span></button>
<?php else: ?>
<p class="availability out-of-stock"><span><?php echo $this->__('Out of stock') ?></span></p>
<?php endif; ?>
</div>
</li>
<?php endforeach ?>
</ul>
</div>
这基本上只是 list.phtml 中的代码,除了使用我自己的产品集合。
我在上面代码中的每个功能块之后都放了数字,以测试导致错误的原因。目前它达到 3 然后停止。
谁能告诉我为什么$_product->getName()
无法与该街区的其他人一起工作?
任何帮助,将不胜感激。谢谢。
编辑:
$_productCollection 的 var_dump
object(Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection)[337]
protected '_flatEnabled' =>
array (size=1)
1 => boolean false
protected '_productWebsiteTable' => string 'catalog_product_website' (length=23)
protected '_productCategoryTable' => string 'catalog_category_product' (length=24)
protected '_addUrlRewrite' => boolean false
protected '_urlRewriteCategory' => string '' (length=0)
protected '_addMinimalPrice' => boolean false
protected '_addFinalPrice' => boolean false
protected '_allIdsCache' => null
protected '_addTaxPercents' => boolean false
protected '_productLimitationFilters' =>
array (size=3)
'category_id' => string '236' (length=3)
'category_is_anchor' => int 1
'store_id' => string '1' (length=1)
protected '_productCountSelect' => null
protected '_isWebsiteFilter' => boolean false
protected '_priceDataFieldFilters' =>
array (size=0)
empty
protected '_map' =>
array (size=1)
'fields' =>
array (size=6)
'price' => string 'price_index.price' (length=17)
'final_price' => string 'price_index.final_price' (length=23)
'min_price' => string 'price_index.min_price' (length=21)
'max_price' => string 'price_index.max_price' (length=21)
'tier_price' => string 'price_index.tier_price' (length=22)
'special_price' => string 'price_index.special_price' (length=25)
protected '_storeId' => string '1' (length=1)
protected '_itemsById' =>
array (size=0)
empty
protected '_staticFields' =>
array (size=6)
'entity_id' => string 'entity_id' (length=9)
'entity_type_id' => string 'entity_type_id' (length=14)
'attribute_set_id' => string 'attribute_set_id' (length=16)
'type_id' => string 'type_id' (length=7)
'created_at' => string 'created_at' (length=10)
'updated_at' => string 'updated_at' (length=10)
protected '_entity' =>
object(Mage_Catalog_Model_Resource_Eav_Mysql4_Product)[165]
protected '_productWebsiteTable' => string 'catalog_product_website' (length=23)
protected '_productCategoryTable' => string 'catalog_category_product' (length=24)
protected '_attributes' =>
array (size=0)
empty
protected '_read' =>
object(Varien_Db_Adapter_Pdo_Mysql)[90]
protected '_transactionLevel' => int 0
protected '_connectionFlagsSet' => boolean true
protected '_ddlCache' =>
array (size=1)
...
protected '_bindParams' =>
array (size=2)
...
protected '_bindIncrement' => int 2
protected '_debug' => boolean false
protected '_logQueryTime' => float 0.05
protected '_logAllQueries' => boolean false
protected '_logCallStack' => boolean false
protected '_debugFile' => string 'var/debug/sql.txt' (length=17)
protected '_debugIoAdapter' => null
protected '_debugTimer' => int 0
protected '_cacheAdapter' =>
object(Varien_Cache_Core)[13]
...
protected '_isDdlCacheAllowed' => boolean true
protected '_pdoType' => string 'mysql' (length=5)
protected '_numericDataTypes' =>
array (size=16)
...
protected '_defaultStmtClass' => string 'Zend_Db_Statement_Pdo' (length=21)
protected '_config' =>
array (size=12)
...
protected '_fetchMode' => int 2
protected '_profiler' =>
object(Zend_Db_Profiler)[20]
...
protected '_defaultProfilerClass' => string 'Zend_Db_Profiler' (length=16)
protected '_connection' =>
object(PDO)[17]
...
protected '_caseFolding' => int 0
protected '_autoQuoteIdentifiers' => boolean true
protected '_allowSerialization' => boolean true
protected '_autoReconnectOnUnserialize' => boolean false
protected '_write' => string 'catalog_write' (length=13)
protected '_type' =>
object(Mage_Eav_Model_Entity_Type)[123]
protected '_attributes' => null
protected '_attributesBySet' =>
array (size=0)
...
protected '_sets' => null
protected '_eventPrefix' => string 'core_abstract' (length=13)
protected '_eventObject' => string 'object' (length=6)
protected '_resourceName' => string 'eav/entity_type' (length=15)
protected '_resource' => null
protected '_resourceCollectionName' => string 'eav/entity_type_collection' (length=26)
protected '_cacheTag' => boolean false
protected '_dataSaveAllowed' => boolean true
protected '_isObjectNew' => null
protected '_data' =>
array (size=16)
...
protected '_hasDataChanges' => boolean true
protected '_origData' => null
protected '_idFieldName' => string 'entity_type_id' (length=14)
protected '_isDeleted' => boolean false
protected '_attributesById' =>
array (size=0)
empty
protected '_attributesByCode' =>
array (size=0)
empty
protected '_attributesByTable' =>
array (size=0)
empty
protected '_staticAttributes' =>
array (size=0)
empty
protected '_entityTable' => string 'catalog_product_entity' (length=22)
protected '_describeTable' =>
array (size=0)
empty
protected '_entityIdField' => string 'entity_id' (length=9)
protected '_valueEntityIdField' => null
protected '_valueTablePrefix' => null
protected '_isPartialLoad' => boolean false
protected '_isPartialSave' => boolean false
protected '_sortingSetId' => null
protected '_attributeValuesToDelete' =>
array (size=0)
empty
protected '_attributeValuesToSave' =>
array (size=0)
empty
protected '_selectEntityTypes' =>
array (size=0)
empty
protected '_selectAttributes' =>
array (size=0)
empty
protected '_filterAttributes' =>
array (size=0)
empty
protected '_joinEntities' =>
array (size=0)
empty
protected '_joinAttributes' =>
array (size=0)
empty
protected '_joinFields' =>
array (size=0)
empty
protected '_conn' =>
object(Varien_Db_Adapter_Pdo_Mysql)[90]
protected '_transactionLevel' => int 0
protected '_connectionFlagsSet' => boolean true
protected '_ddlCache' =>
array (size=1)
1 =>
array (size=1)
...
protected '_bindParams' =>
array (size=2)
':_mage_bind_var_1' => string '2012-09-26 14:11:06' (length=19)
':_mage_bind_var_2' => string '2012-09-26 14:11:06' (length=19)
protected '_bindIncrement' => int 2
protected '_debug' => boolean false
protected '_logQueryTime' => float 0.05
protected '_logAllQueries' => boolean false
protected '_logCallStack' => boolean false
protected '_debugFile' => string 'var/debug/sql.txt' (length=17)
protected '_debugIoAdapter' => null
protected '_debugTimer' => int 0
protected '_cacheAdapter' =>
object(Varien_Cache_Core)[13]
protected '_backend' =>
object(Zend_Cache_Backend_File)[10]
...
protected '_options' =>
array (size=9)
...
protected '_specificOptions' =>
array (size=0)
...
private '_lastId' (Zend_Cache_Core) => string 'd11_DB_PDO_MYSQL_DDL_googleoptimizer_code_1' (length=43)
protected '_extendedBackend' => boolean true
protected '_backendCapabilities' =>
array (size=6)
...
protected '_isDdlCacheAllowed' => boolean true
protected '_pdoType' => string 'mysql' (length=5)
protected '_numericDataTypes' =>
array (size=16)
0 => int 0
1 => int 1
2 => int 2
'INT' => int 0
'INTEGER' => int 0
'MEDIUMINT' => int 0
'SMALLINT' => int 0
'TINYINT' => int 0
'BIGINT' => int 1
'SERIAL' => int 1
'DEC' => int 2
'DECIMAL' => int 2
'DOUBLE' => int 2
'DOUBLE PRECISION' => int 2
'FIXED' => int 2
'FLOAT' => int 2
protected '_defaultStmtClass' => string 'Zend_Db_Statement_Pdo' (length=21)
protected '_config' =>
array (size=12)
'model' => string 'mysql4' (length=6)
'initStatements' => string 'SET NAMES utf8' (length=14)
'type' => string 'pdo_mysql' (length=9)
'host' => string 'localhost' (length=9)
'username' => string 'root' (length=4)
'password' =>
object(Mage_Core_Model_Config_Element)[34]
...
'dbname' => string 'eyt' (length=3)
'active' => string '1' (length=1)
'charset' => null
'persistent' => boolean false
'options' =>
array (size=3)
...
'driver_options' =>
array (size=0)
...
protected '_fetchMode' => int 2
protected '_profiler' =>
object(Zend_Db_Profiler)[20]
protected '_queryProfiles' =>
array (size=0)
...
protected '_enabled' => boolean false
protected '_filterElapsedSecs' => null
protected '_filterTypes' => null
protected '_defaultProfilerClass' => string 'Zend_Db_Profiler' (length=16)
protected '_connection' =>
object(PDO)[17]
protected '_caseFolding' => int 0
protected '_autoQuoteIdentifiers' => boolean true
protected '_allowSerialization' => boolean true
protected '_autoReconnectOnUnserialize' => boolean false
protected '_select' =>
object(Varien_Db_Select)[324]
protected '_bind' =>
array (size=0)
empty
protected '_adapter' =>
object(Varien_Db_Adapter_Pdo_Mysql)[90]
protected '_transactionLevel' => int 0
protected '_connectionFlagsSet' => boolean true
protected '_ddlCache' =>
array (size=1)
...
protected '_bindParams' =>
array (size=2)
...
protected '_bindIncrement' => int 2
protected '_debug' => boolean false
protected '_logQueryTime' => float 0.05
protected '_logAllQueries' => boolean false
protected '_logCallStack' => boolean false
protected '_debugFile' => string 'var/debug/sql.txt' (length=17)
protected '_debugIoAdapter' => null
protected '_debugTimer' => int 0
protected '_cacheAdapter' =>
object(Varien_Cache_Core)[13]
...
protected '_isDdlCacheAllowed' => boolean true
protected '_pdoType' => string 'mysql' (length=5)
protected '_numericDataTypes' =>
array (size=16)
...
protected '_defaultStmtClass' => string 'Zend_Db_Statement_Pdo' (length=21)
protected '_config' =>
array (size=12)
...
protected '_fetchMode' => int 2
protected '_profiler' =>
object(Zend_Db_Profiler)[20]
...
protected '_defaultProfilerClass' => string 'Zend_Db_Profiler' (length=16)
protected '_connection' =>
object(PDO)[17]
...
protected '_caseFolding' => int 0
protected '_autoQuoteIdentifiers' => boolean true
protected '_allowSerialization' => boolean true
protected '_autoReconnectOnUnserialize' => boolean false
protected '_parts' =>
array (size=12)
'straightjoin' => boolean false
'distinct' => boolean false
'columns' =>
array (size=2)
...
'union' =>
array (size=0)
...
'from' =>
array (size=2)
...
'where' =>
array (size=0)
...
'group' =>
array (size=0)
...
'having' =>
array (size=0)
...
'order' =>
array (size=0)
...
'limitcount' => null
'limitoffset' => null
'forupdate' => boolean false
protected '_tableCols' =>
array (size=0)
empty
protected '_cacheConf' => null
protected '_idFieldName' => null
protected '_bindParams' =>
array (size=0)
empty
protected '_data' => null
protected '_fetchStmt' => null
protected '_items' =>
array (size=0)
empty
protected '_itemObjectClass' => string 'Mage_Catalog_Model_Product' (length=26)
protected '_orders' =>
array (size=0)
empty
protected '_filters' =>
array (size=0)
empty
protected '_isFiltersRendered' => boolean false
protected '_curPage' => int 1
protected '_pageSize' => boolean false
protected '_totalRecords' => null
protected '_isCollectionLoaded' => null
protected '_cacheKey' => null
protected '_cacheTags' =>
array (size=0)
empty
protected '_cacheLifetime' => int 86400
protected '_flags' =>
array (size=0)
empty