开发Magento后台的时候经常用到表单(Varien_Data_Form),下面是所有表单元素的添加方法: 1.input type=”text” $fieldset->addField(‘title’, ‘text’, array( ‘label’ => Mage::helper(‘form’)->__(‘Title3′), ‘class’ => ‘required-entry’, ‘required’ => true, ‘name’ => ‘title’, ‘onclick’ => …Read the Rest
教程
移动设备在生活中的使用越来越多,我的某一个网站就移动设备的访问比例高达10%。 给这些移动设备优良的用户体验也迫在眉睫,还好我们的Magento core开发了iphone theme,给这些移动设备带来了优良的用户体验。 让移动设备用户访问不同的界面时,Magento有两种办法做到。 第一种就是重定向。 当用户访问Magento的时候,移动用户就会被重定向到不同的store view(多店)。 我不建议这么做,具体原因就不说了。简单来说,Magento性能有损失,seo性能下降。 第二种就是展示不同的界面。 当移动设备访问Magento时,自动匹配到移动设备的主题界面。 而且这种设置也相当简单,大家跟着我做: 1.先等到到Magento后台,默认是domain.com/admin 2.进入这个选项卡:System > Configuration > General > Design …Read the Rest
老规矩,直接看代码吧。下面的代码是如何通过程序创建一个完美订单。 < ?php require_once 'app/Mage.php'; Mage::app('default');//初始化程序,设置当前店铺 $store = Mage::app()->getStore(‘default’); //通过电子邮件获取用户,当然也可以不获取,创建guest订单 $customer = Mage::getModel(‘customer/customer’); $customer->setStore($store); $customer->loadByEmail(‘email_address@gmail.com’); //初始化Quote,Magento的订单是通过Quote来转化过去的 $quote = Mage::getModel(‘sales/quote’); $quote->setStore($store); …Read the Rest
以前介绍过,在windows下安装zend server套件运行magento. 今天给大家介绍在centos下安装zend server套件,安装magento. 我们今天使用的是yum在线安装zend server.首先你要在建立Zend server的下载库路径: #vi /etc/yum.repos.d/zend.repo 然后i(插入)进一下内容: [Zend] name=Zend CE $releasever – $basearch – Released Updates baseurl=http://repos.zend.com/rpm/ce/$basearch/ …Read the Rest
网址是SEO中非常重要的部分,在google中带www的网址和不带www的网址可能会被认为是不同的地址,这不利于SEO(当然我们可以通过其它手段来告诉google它们是同一个地址,但,这不是今天的重点)。 Magento对SEO支持是非常好的,进入Magento后台 System->configuration->general->web->Url Options 如上图。 若Auto-redirect to Base URL设置为 “NO”,那么如果使用不带 www的网址访问网站,网址就可能会带有一串字符,形如:http://www.magentokey.com/magento-extension?SID=57d9aa6e923bfa3522442530e68034c0 的地址,那这对于SEO来说真是灾难。 若Auto-redirect to Base URL设置为 “Yes (301 Moved Permanently)”,那么如果是一个不带www的网址访问网站,比如 magentokey.com 或 magentokey.com/magento-extension, 那么页面就会做301跳转到首页。 若Auto-redirect to Base URL设置为 “Yes (302 Found)”,那么如果是一个不带www的网址访问网站,比如 magentokey.com 或 magentokey.com/magento-extension, 那么页面也会跳转到首页,但做的是302跳转。 301和302大家google下其含义,不赘述。 好,到了这里大家就应该明白magento的这个设置了。但是有些人喜欢自己的网址是不带 www 的,和别人正好相反。那么你需要去 System->configuration->general->web->Unsecure和Secure中将你的基础网址设置为不带www的,设置页面如下图。 注意:设置未起作用请刷新Magento缓存和索引管理。 所以大家看完此文就忘记.htaccess吧。magento的seo在设置方面还是很强大的。 本文使用magento 1.5.1.0 版本讲解,其它版本可能稍有不同。 转载表明出处:www.hellokeykey.com
‘goolge+1’按钮数据最近已经在谷歌网站管理员中出现了,我们的Magento也可以加上此按钮,与用户多些互动。Magento最简单的添加办法,不用修改模板,直接将’google+1′的代码贴到后台的欢迎语设置中,如下图。效果如上图。有一定修改模板能力的,可以自己去修改你模板的header.phtml文件来将‘google+1’按钮添加到magento头部的相应位置。 ‘google+1’由于会加载额外的js文件,可能对网站加载速度有一定的影响,如果对你影响较大,就要考虑是否有必要添加了。 如何获得’goolge+1′按钮的代码呢,进入你的google网站管理员工具,如下图: 点击’添加+1‘按钮,就到了代码获取页面,如下图 我们可以设置按钮大小,按钮语言。在高级选项中,如果设置了网址,则按钮只对此网址生效,这个是什么意思,大家可以google下。 转载表明出处:www.hellokeykey.com
在Godaddy服务器上跑Magento,发现商品图片上传后,图片在前台和后台都不显示,当然图片设置是正确的(如何上传商品以及图片见我的Magento中文视频)。 检查商品存储的文件夹,商品图片存在。 再检查后台商品图片的路径,发现存储路径和显示路径不一样。这下我郁闷了,magento我原始文件默认安装,应该不是Magento文件的问题,文件都上传了也应该不是文件夹权限问题,google了一下,找到有人有同样的问题:http://www.viraljetani.com/programming/magento-images-not-appearing-on-frontend-as-well-as-backend-on-godaddy-server 此人的解决方法是将Magento根目录Media文件夹的.htaccess移除。 转载表明出处:www.hellokeykey.com
Magento 1.4的模板用到Magento 1.5中,之前写了一篇文章将如何升级模板,今天将遇到的报警特别的作为一篇文章写出来,供大家参考。 在安装新的magento模板的时候,出现了报警信息:app\code\core\Mage\Core\Model\Layout.php on line 529 。 Google查阅资料:http://stackoverflow.com/questions/3055128/magento-started-showing-php-language-errors-since-i-downloaded-the-blank-theme-us 对比Magento 1.4的page.xml与1.5的page.xml模板的layout文件发现如下代码的变化后发现1.4与1.5的区别。 将Magento 1.4模板的layout中的page.xml内容,如上图 <block type=”core/profiler” output=”toHtml” /> 修改为Magento 1.5中的 <block type=”core/profiler” output=”toHtml” name=”core_profiler”/> 修改后,刷新Magento后台缓存。Magento恢复正常。 参考:magento1.4模板升级到1.5 转载表明出处:www.hellokeykey.com
现在有一个客户需要将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 [...]
此Magento插件会将运费计算的模块显示在商品详情页面,如上面图片。 插件地址:http://www.magentocommerce.com/magento-connect/Ecommerce+Developers/extension/3860/ecomdev_productpageshipping 此插件目前为稳定版,支持到1.4,1.5可以试下,插件一般跨版本能力比较强。 转载表明出处:www.hellokeykey.com


