Archive: magento
-
五 23, 2011
3 Comments自定制magento登陆验证过程
现在有一个客户需要将Magento与另一个系统整合,在Magento中产生购买的时候,要求用户使用原系统用户名密码登陆,验证此用户信息为合法用户后,用户信息存入到Magento中,并且完成购买流程。得知原系统使用用户名来完成注册登陆,并且标示用户唯一性,与Magento使用邮箱登陆不同。 这个要求需要注意的是: 1.用户只在原先的系统完成注册。 2.需要通过接口去原先系统验证用户的登陆信息是否合法。 3.Magento 的用户是通过邮件地址来登陆的,所以要给原系统的用户名后加个邮箱,再存到Magento中去。(不想大改,直接实现用户名登陆比较复杂。一个基于邮箱的系统,改成基于用户名的意义还有待考虑)。 于是: 1.关闭Magento的注册功能,使用户只能在原先的系统平台注册。 2.关闭游客结账功能,在结账页面让用户输入原系统用户名、密码。 3.下面我们就开始修改下这个登陆验证的流程了,我们关闭了注册功能也禁止了游客结账,那么我们就剩下在结账页面的登陆框了(如上图),这里就是我们的需要hack的地方。 a.在模板文件中 app/design/frontend/default/default/template/checkout/onepage/login.phtml 修改登陆表单为 <div class="col2-set"> <div class="col-1"> </div> <div class="col-2"> <h3><?php echo $this->__('Login') ?></h3> <?php echo $this->getMessagesBlock()->getGroupedHtml() ?> <form id="login-form" action="<?php echo $this->getloginasusernamePost() ?>" method="post"> <h4><?php echo $this->__('Already registered?') ?></h4> <p><?php echo $this->__('Please log in below:') ?></p> <ul class="form-list"> <li> <label for="login-username" class="required"><em>*</em><?php echo $this->__('Email...
-
五 20, 2011
No Comments将Magento运费计算移动到商品详情页面
此Magento插件会将运费计算的模块显示在商品详情页面,如上面图片。 插件地址:http://www.magentocommerce.com/magento-connect/Ecommerce+Developers/extension/3860/ecomdev_productpageshipping...
-
五 19, 2011
8 Comments使用Magento实现平民的手机B2C平台
Magento在外贸方面很给力,越来越多的外贸网站都转向使用Magento了。Magento在国内应用程度很不给力的情况下,我的Magento还能做些什么呢? 我无钱无人脉,只做过淘宝店,我想做个手机的B2C平台卖卖东西,这个怎么弄呢?既然没有钱,就在功能上阉割一把,基本实现在线浏览商品,在线下订单,货到付款的支付方式。呼呼,这个也没有阉割太多。当然这些是基于Magento的。 好,我们来看下,搭建一个手机的B2C平台需要多少开销吧,看看算不算是很平民的价格: 1.域名,这个东西60元人民币左右一年,很便宜,建议去大的域名商网站购买,如:godaddy等。 2.服务器,我博客有推荐的Magento专用服务器,100多元人民币一个月。吓,服务器在国外,这个会不会网速有问题。试试,不行就用蹩脚的国内服务器吧。好吧,如果用国内的服务器,内存最好到1G的VPS,价格吗?似乎在300多元一个月。 3.安装配置好Magento手机版,需要一定的专业知识,但是算不上有太多的技术含量。这里有一款免费的Magento手机模板 http://www.magentocommerce.com/magento-connect/Magento+Core/extension/4457/magento_mobile 对于安卓和iphone应该都可以访问,关于设置见文章下面的相关资料。人工费用暂算1000元吧。找个设计弄个logo,300元(我不会给设计定价,猜的)。 4.付款方式,这个还是选货到付款吧。谁叫我们是平民。 5.上货,没钱清人就自己上货。 6.营业,没钱找人做,就自己做推广维护。 大功告成了!花销上算下来2000元的一样,以后每个月的开销在服务器费用,和人力维护上。如果自己可以做的基本就可以自己做了。 呼呼,我省掉了备案等诸多法律环节,大家自己补上。似乎很容易蒙混过关。...
-
五 15, 2011
3 Comments给Magento搜索添加分类下拉菜单
如上图的搜索框是可以限定在某个分类下进行搜索的。我开始以为要给Magento搜索功能加个过滤条件才可以实现如上的功能,其实不然。 我们在Magento官网的demo(http://demo.magentocommerce.com/)中搜下 ‘HTC’,来看下Magento的搜索结果页Url如下: http://demo.magentocommerce.com/catalogsearch/result/?q=HTC 而点击左侧的,按分类进行搜索后,Url变为: http://demo.magentocommerce.com/catalogsearch/result/index/?cat=13&q=HTC 我们可以看到,多了个分类就是多了‘cat=13’参数,其中‘cat’代表分类,‘13’代表分类的ID。 看下Magento的搜索的<form method=”get”….. ,好吧,我们还是不要去管什么过滤和程序了,直接去改掉模板文件吧。只要提交的参数中有cat参数和代表分类ID的值就好了。 如果简单来实现,可以静态的在<form>中加上你需要被筛选的分类下拉菜单,这个适合各种新手。可以动态的获取分类当然是最好的。 Search搜索的模板文件位置,开启模板路径看下。 如下代码示例,为获得一级分类下拉菜单作为搜索条件: $category = Mage::getModel('catalog/category'); if(is_object(Mage::registry('current_category'))){ $current_category_path=Mage::registry('current_category')->getPathIds(); }else{ $current_category_path = array(); } $category->load(Mage::app()->getStore()->getRootCategoryId()); $children_string = $category->getChildren(); $children = explode(',',$children_string); $extra_options=''; foreach($children as $c){ $selected = (in_array($c, $current_category_path))?'SELECTED':''; $extra_options.= '<option class="parent-cat" value="' . $c . '" ' . $selected . '>' . $category->load($c)->getName() . '</option>'...
-
五 13, 2011
No Comments使用setTemplate在Controller中设置Magento的页面结构
在Magento中新建一个插件的时候,如何控制我们前台页面的页面结构呢?一个方法是去修改我们的模板XML文件来实现。另一个办法就是在我们插件的Controller(控制器)中来设置Magento的页面结构。 代码如下: $this->loadLayout(); $this->getLayout()->getBlock('root')->setTemplate('page/1column.phtml');...
