magento首页调用最新产品和特价产品

7天成为Magento系统架构师,现在开始学习Magento全栈开发!

《Magento2.X企业级开发实战》

magento首页调用最新产品

在前面我们知道,magento的首页是执行的cms page页面,我们可以去后台 cms page管理首页内容,调用最新产品这个模块magento已经封装好了模块模型,我们只需要调用即可,在Design中的Layout Update XML(该内容区跟前面所有的xml模块一样)中写入:

bundlebundle/catalog_product_price44

要想显示最新产品记得在后台产品管理中General中Set Product as New from Date设置下。
在调用新产品的这个block中有三个action 通过method的值可以看出他的意思,第二和第三个Acion分别是设置产品显示的列数和产品的显示个数
进入最新产品调用的模板文件catalog/product/new.phtml 现在的结构当然要根据目标站来调整下才行,那么还需要我们一个个对应么?当然不用,记得在讲magento首页内容调用那一节,我们把这个模块给跳过了。因为首页的产品调用布局和列表页是一样的,复制html即可。

magento首页调用特价产品(Special Products)

这个需要我们自己添加一个block块供我们调用,可参考new products的block类,建立文件app/code/core/Mage/Catalog/Block/Product/Special.php

    getLocale()->date()->toString(Varien_Date::DATETIME_INTERNAL_FORMAT);  
            $collection = Mage::getResourceModel('catalog/product_collection');  
            Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection);  
            Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection);  
            $collection = $this->_addProductAttributesAndPrices($collection)  
                        ->addStoreFilter()  
                        ->addAttributeToFilter('special_from_date',array('date'=> true,'to'=>$todayDate))  
                        ->addAttributeToFilter('special_to_date',array('or'=>array(0=>array('date'=> true,'from'=>$todayDate),1=>array('is'=>new Zend_Db_Expr('null')))),'left')  
                        ->addAttributeToSort('special_from_date','desc')  
                        ->setPageSize($this->getProductsCount())  
                        ->setCurPage(1);  
            $this->setProductCollection($collection);  
            return parent::_beforeToHtml();  
        }  
        public function setProductsCount($count)  
        {  
            $this->_productsCount = $count;  
            return $this;  
        }  
        public function getProductsCount()  
        {  
            if(null === $this->_productsCount)  
            {  
                $this->_productsCount = self::DEFAULT_PRODUCTS_COUNT;  
            }  
            return $this->_productsCount;  
        }  
    }

复制app/design/frontend/base/default/template/catalog/product/new.phtml到app/design/frontend/theme/default/template/catalog/product/special.phtml,修改为相应标题和产品显示数量
在后台首页的CMS Page模块添加调用代码:

 bundlebundle/catalog_product_price44

当然要想显示特价产品,在产品管理处还是要设置的,进入产品管理的Prices栏,Special Price和Special Price From Date都要设置,那么前台就会显示特价产品。

转载请注明:(●–●) Hello.My Weicot » magento首页调用最新产品和特价产品

文章来源于互联网:magento首页调用最新产品和特价产品

如无特殊说明或标注,任何个人或组织,复制、转载、采集本站内容请注明:
本文来源于:【Magento中文网】,并添加本文地址链接。
如未按上述操作复制或转载,本站有权追究法律责任。
若本站内容侵犯了原著者的合法权益,可联系我们进行处理。