我正在尝试编辑此代码
->addAttributeToFilter('news_from_date', array('or'=> array(
0 => array('date' => true, 'to' => $todayEndOfDayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter('news_to_date', array('or'=> array(
0 => array('date' => true, 'from' => $todayStartOfDayDate),
1 => array('is' => new Zend_Db_Expr('null')))
), 'left')
->addAttributeToFilter(
array(
array('attribute' => 'news_from_date', 'is'=>new Zend_Db_Expr('not null')),
array('attribute' => 'news_to_date', 'is'=>new Zend_Db_Expr('not null'))
)
)
替换为
->addAttributeToFilter('featured', array('is' => 1))
in
app \ code \ core \ Mage \ Catalog \ Block \ Product \ New.php
CMS -> PAGE
自然而然地我的小部件
{{widget type="catalog/product_widget_new" display_type="new_products" products_count="16" template="catalog/product/widget/new/content/new_grid.phtml"}}
现在我不明白为什么如果我在主页中更改New.php中的任何内容,我会得到相同的结果。此过滤器无法正常工作。哪里错了?
答案 0 :(得分:0)
可能是过滤器无效,因为您使用的是扁平产品系列,并且您的featured
属性未启用“在产品列表中使用”。
请改为尝试:
$collection->addFieldToFilter(array(array('attribute' => 'featured', 'eq' => 1)));
答案 1 :(得分:0)
**
**
不要编辑 新产品小部件 或更改magento的文件,但是 最好创建新的cms静态块。如果你这样做,请按照这 想要创造你的特色产品。
第1步
在属性中创建新属性 - >管理属性
管理标签/选项
不要忘记管理属性集
第2步
从
复制list.phtmlapp / design / frontend / base / default / template / catalog / product / list.phtml
或
应用\设计\前端\默认\ yourtemplate \模板\目录\产品\ list.phtml
要强>
应用\设计\前端\默认\ yourtemplate \模板\目录\产品\ listFeatured.phtml
打开listFeatured.phtml并找到它:
$_productCollection=$this->getLoadedProductCollection();
更改为:
$_product = Mage::getModel('catalog/product');
$attribute = $_product->getResource()->getAttribute("featured");
// Check the attribute from a select or multiselect
if($attribute->usesSource()):
$options = $attribute->getSource()->getAllOptions(false);
$idValue = 0;
//Save the option's Id if the label is "Yes"
foreach ($options as $option):
if ($option['label'] == "Yes"):
$idValue = $option['value'];
endif;
endforeach;
endif;
$_productCollection = $_product->getCollection()
->addAttributeToSelect('*')
->addAttributeToFilter('featured', $idValue) // Filter the collection
->setPage(1,16); //show max 1 page for 16 rows
$_productCollection->getSelect()->order('rand()');
第3步
创建 CMS静态阻止
{{block type="catalog/product_list" template="catalog/product/listFeatured.phtml"}}
第4步
插入 CMS - >页面您的 CMS静态阻止
第5步
转到管理产品并修改产品,更改特色属性。
第6步
重新索引索引。
答案 2 :(得分:0)
只需替换
->addAttributeToFilter('featured', array('is' => 1))
与
->addAttributeToFilter('featured', array('eq' => 1))