Archive: magento
-
四 22, 2012
No CommentsMagento获取最近更新商品
今天google了下,总结了下如何获取Magento每个分类的最近更新商品,根据商品的ID号,倒序排列出最后添加的商品。代码如下 <?php $categories = Mage::helper('catalog/category'); /* @var $helper Mage_Catalog_Helper_Category */ $categories_collection = $categories->getStoreCategories('name', true, false); $categories_url = Mage::helper('catalog/category'); ?> <?php if($categories_collection->getSize()): ?> <dl class="new-product"> <?php foreach ($categories_collection as $_item): ?> <dt><a href="<?php echo $categories_url->getCategoryUrl($_item) ?>"><?php echo $_item->name ?></a></dt> <?Php $p_collection = $_item->getProductCollection(); $p_collection->addAttributeToSelect(array('name', 'id', 'price', 'url_key', 'small_image')) ->addAttributeToFilter('status', 1) ->addAttributeToFilter('visibility', 4) //catalog, search ->addAttributeToFilter('sku',array("nlike"=>'%CUS001%')) ->setOrder('entity_id',...
-
四 12, 2012
2 CommentsMagento的颜色选择插件和团购插件
很多人需要颜色选择插件和团购插件,官网的插件市场Magento Connect中提供了大量的这些插件,大家可以时刻关注下是否有自己需要的插件。 Magento商品颜色选择插件:http://www.magentocommerce.com/magento-connect/catalogsearch/result/?id=&s=1&pl=0&te=0&q=Color+Swatch&t=0&p=1 Magento团购插件:...
-
四 08, 2012
No CommentsMagento的生成商品XML CSV利器Data Feed Manager
google shopping需要将商品导出为指定的XML格式,用 Data Feed Manager 这个工具就非常的方便来组织数据。官网网址 http://wyomind.com/ ,他们的说明文档很清楚,基本可以熟悉如何定制自己的数据。 如果你只想向google shopping提交商品数据,那么你使用其它免费的Magento插件即可,如果你的数据需要按照其它规则进行定制,那么这个插件也许就是你想要的。 插件中你可以设置属于你自己的过滤规则,比如将某些商品屏蔽掉。你可以按照商品的各个属性来过滤商品,可以按照分类来过滤商品。 如果过滤插件内置的输出内容不能满足你的要求,你甚至可以直接插入 PHP 代码来获得你想输出的内容,如果插入php见插件的说明文档。 简单介绍下两款插件: Simple Google Shopping: 30欧元,看名字就知道是只可以生成适用google shopping格式的商品数据。适合一般店家使用。 Data Feed Manager: 80欧元,可以生成XML...
-
三 29, 2012
2 Comments使用SKU过滤Magento的google sitemap
有些商品不想让进入google的sitemap,我们来看下如何根据sku来过滤Magento的google sitemap。 感谢松泰帮我查了下代码。 1.Magento在前台页面有sitemap页面,页面会显示magento的分类和所有商品,主要是给搜索引擎爬虫来爬的,如果你某些商品不想被抓到,那么不能在这个页面显示出发来。 需要修改的核心文件路径:Mage\Catalog\Block\Seo\Sitemap\Product.php 当然你不能直接修改核心文件,放到code的local文件夹吧。 如下代码,屏蔽sku中带 cus001 的商品 protected function _prepareLayout() { $collection = Mage::getModel('catalog/product')->getCollection(); /* @var $collection Mage_Catalog_Model_Resource_Eav_Mysql4_Product_Collection */ $collection->addAttributeToSelect('name'); $collection->addAttributeToSelect('url_key'); $collection->addStoreFilter(); Mage::getSingleton('catalog/product_status')->addVisibleFilterToCollection($collection); Mage::getSingleton('catalog/product_visibility')->addVisibleInCatalogFilterToCollection($collection); $collection->addAttributeToFilter('sku',array("nlike"=>'%cus001%')); $this->setCollection($collection); return $this; } 如上的 $collection 添加了 去掉sku中包含 cus001 的商品。 2.需要屏蔽的第二个地方在网站声称的google sitemap的xml文件,此文件也是让搜索引擎抓取的,所以需要屏蔽。 需要的修改的核心文件路径为:Mage\Sitemap\Model\Resource\Catalog\Product.php public function getCollection($storeId) { $products = array(); $store = Mage::app()->getStore($storeId); /* @var $store Mage_Core_Model_Store...
-
三 09, 2012
7 Comments在Magento上实现高级定制
什么是本文讲的高级定制? 如上图,用户可以通过下拉菜单选择颜色和尺码来购买商品。但是用户发现自己的身材和商品提供的尺码表不一样(比如用户选了M码的尺寸,但是一对应尺码表发现,肩宽合适,但是腰围不合适),需要按照自己的尺寸来定制,就要手动输入,往往我们就叫这个定制功能为高级定制。 那么如何来实现高级定制呢?下面我来说下。 商品A信息: SKU编号:AAAA 颜色(下拉菜单dropdown):红 黄 蓝 尺码(下拉菜单dropdown):X,L,M 商品B信息: SKU编号:AAAA-CUS 颜色(下拉菜单dropdown):红 黄 蓝 尺码1(输入框input): 尺码2(输入框input): 尺码3(输入框input): 尺码4(输入框input): ………….. 尺码N(输入框input): 通过对比上面的数据,可以发现我在SKU上做了文章,B商品的SKU是A商品的SKU后面增加“-CUS”。B商品的尺码是用户可以自己输入的。 实现原理: 1.如果A商品需要高级定制功能,那么必须有与之对应的B商品存在,两者在SKU上必须存在上面所说的规律。B商品建议设置为前台不可见,搜索不可见。 2.在A商品页面的时候,用程序获取A商品的SKU。比如获取A商品的sku是”123″,那么就通过程序来判断sku“123-CUS”的商品是否存在,如果存在就说明A商品可以进行高级定制。 3.通过SKU获取B商品的数据,生成输入框和加入购物车按钮构建<form>,可以去看下B商品的form是如何写的。 4.当用户下单后其实购买的是B商品,所以在购物车定地方点击商品的链接会返回B商品的页面,请保持B商品信息的完整。 5.如果定制商品要用户付额外费用,无论你B商品是从后台添加的还是靠CSV批量添加的,都要做相应的处理,你可以直接增加B商品的价格,也可以在自定义选项(custom options)上做文章。 在自定义选项上你可以设置增加10元,也可以设置减少10元,你做一些促销活动,互动活动就会非常的方便,只需要程序上处理下即可实现价格增减。所以建议将价格设置到自定义选项中。 代码片段:在view.phtml文件中如何通过A商品的sku获取B到商品 $s = $_product->getSku().'-CUS'; $p_ID = Mage::getModel('catalog/product')->getIdBySku($s); $product = Mage::getModel("catalog/product")->load($p_ID);...
