Magento
文章平均质量分 50
小迷童
这个作者很懒,什么都没留下…
展开
-
详解Magento执行流程
目前Magento作为全世界最先进的电子商务框架, 无数人趋之若鹜, 惊讶于它的完美, 惊世之作呼之欲出, 但也无数人拜倒在这位巨人的迷宫中, 留下走不出之旋窝的遗憾, 现本人把自己对Magento的苦苦专研得出的一些见解给大家分享, 希望解救需要帮助的人.本人对Magento的整体框架做了一些研究并抽象出Magento的程序执行流程图, 仅代表个人对Magento的研究结果, 如有出入,原创 2013-05-29 12:05:49 · 2485 阅读 · 0 评论 -
magento发送邮件机制
magento的邮件非常的领过,但是使用起来有点复杂,下面是实用的zend机制发送邮件的简单方法,如下:public function sendEmail(){ $fromEmail= "from@example.com";// sender email address $fromName= "John Doe";// sender name转载 2012-08-16 11:21:35 · 540 阅读 · 0 评论 -
magento布局文件xml的对应关系
magento模板文件的XML与phtml文件以及文件结构xml文件全部在:app\design\frontend\base\default\layoutphtml文件以及文件夹全部在在:app\design\frontend\base\default\templatecatalog.xml 这个是控制产品列表页和产品详细页的对应于template\catalog 这个文件夹的所有ph转载 2012-08-16 11:34:25 · 764 阅读 · 0 评论 -
magento------在block对应的phtml文件中加载子block的另外一种简洁快速的方法
magento的block代码有很多中方式,1在magento后台的xml update位置可以写入xml代码,配置block的结构2在layout文件中写xml代码,这是一种推荐的方式,这样比较容易查找代码,易于维护3在模块的controllers文件里写,譬如代码:$this->loadLayout(); $this->_setActive转载 2012-08-16 11:25:13 · 1676 阅读 · 0 评论 -
block中remove 和unsetChild用法的区别(二)
magento的block里面有丰富的标签,但是magento公司没有出来详细的介绍,只有一些基本的描述具体的时候,还是得通过实践自己摸索,下面是我找到的一些区别block中remove和unsetChild这2个标签在xml中的区别:如下对于某个block,我们想要其他的页面都有,而这个页面没有,我们会选择在当前页面移除这个block我们会想到选择用2个标签,unsetchild转载 2012-08-16 11:23:43 · 1351 阅读 · 0 评论 -
得到当前购物车的产品的个数和价格信息
得到购物车所有的产品信息// $items = Mage::getModel('checkout/cart')->getQuote()->getAllItems();$items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems(); foreach($items as $item) { ec转载 2012-08-16 11:18:23 · 2183 阅读 · 0 评论 -
magento中通过产品的id得到产品的价格
magneto的价格方面是蛮强大的,有很多和打折相关的价格的设置所以我们是不能和取到产品的名字那样直接 $_product->getName(),使用一个函数取到需要查看价格的设置,来最终取到产品的最终价格。最方便的方式是使用magento的里面的一个函数$id = $this->getRequest()->getParam('id');$product转载 2012-08-16 11:07:58 · 1240 阅读 · 0 评论 -
如何使用magento的静态块--static block
magento在后台可以看到有静态快的功能,点击路径为:cms--static block这个东西的用处很大譬如一下在首页的一些seo部门要替换的广告图片,文字,如果都写在后台文件的话,那么每次修改都要找相应的程序员去处理,增加工作量,现在有static block帮你解决这个问题。这也是zencart没有的东西! 那么如果使用呢?1. 首先到后台建立一个static bloc转载 2012-08-13 19:55:57 · 510 阅读 · 0 评论 -
magento -- 使用local.xml来修改布局
在过去的3年,我们致力于Magneto,并按“Magento的方式”的管理代码,发现使用local.xml是修改布局最好的方法之一。 这篇文章是写给那些还不知道这种用法的人,如果你已经在使用这种方式,恭喜你,如果还没有,你确实应该使用它。 思路很简单:只使用local.xml这一个文件,把它放到你所使用模板的layout目录下,重写或更新该模板的所有布局用XML。 优点:转载 2012-05-25 10:48:06 · 569 阅读 · 0 评论 -
Magento产品页面显示评论
Magento产看产品评论需要点击到另外一个页面中,这种设计对于用户体验和SEO都相当不利。一方面用户无法在产品页面查看该产品的一些用户评价,另外,搜索引擎也会收录很多与产品无关的页面。那么如何让产品评论直接显示在产品页面呢?我们需要修改一下模板文件,很简单即可实现。首先,在layout/catalog.xml布局文件中找到 Product view 部分,添加如下block节点,转载 2012-05-23 10:11:53 · 1179 阅读 · 0 评论 -
Magento货币及汇率设置指南
Magento默认支持产品的多货币价格显示,该功能应该是最熟悉不过了。不过产品价格的显示与付款接口最终显示的价格也同样有着千丝万缕的关系。今天在处理公司一个俄语站点时,遇到了这样一个问题,前后台同样显示的是卢布价格,而公司的信用卡付款通道及PayPal都是不支持卢布结账的。于是用户使用信用卡付款,到达结账页面时,原来标价1000卢布的产品,会以1000美元的价格最终结账,这种情况下,客户很容易以为转载 2012-05-23 10:11:23 · 1697 阅读 · 0 评论 -
解决magento 1.6 无法上传图片的问题
magento 1.6 安装好后不能上传图片,解决办法 修改 js\mage\adminhtml\product.js 96行 if (!item.response.isJSON()) 一直判断不是Json 原因item.response中存在未转义的字符 '/' 替换为 item.response = item.response.replace(/\\/g,'\\\\');转载 2012-05-23 10:10:58 · 1347 阅读 · 0 评论 -
Magento Service Temporarily Unavailable报错解决办法
Service Temporarily Unavailable是Magento常见的一个错误之一,通常会在Magento版本更新或者插件的安装及升级过程中出现该错误提示。需要注意的是,该提示在Magento及其插件升级的过程中是肯定会显示在前台页面的,虽然时间很短。之所以说它是一个错误提示,主要是在版本升级错误或者插件安装失败的情况下。Service Temporarily Unavailab转载 2012-05-23 10:11:41 · 1029 阅读 · 0 评论 -
开发者创建Magento Static Block的最佳实践
Magento Static Block非常方便管理员通过后台来更改前端的一些表现,如文字,图片等等。在开发中的最佳实践如下,我们需要在如下这个静态模块中添加一个图片,那么是不是就把以下所有的文件全部都粘贴到一个新创建的static block中呢?当然这不是最佳实践,因为牵涉到的很多HTML代码可能管理员或者营销人员并不一定理解是什么意思,并且一旦操作出现错误,HTML代码的确实可能会导致整个页转载 2012-05-22 15:12:24 · 557 阅读 · 0 评论 -
magento-只有登录的用户才能看到网站的页面,未登录的页面都跳转到登录页面!
最近遇到一个需求,做一个站的功能,只有在用户登录后才能看到网站的内容页面,如果用户未登录都跳转到注册登录页面,类似于站:https://www.dejavuwholesale.com下面把自己做的步骤写下来和大家分享一下:1在目录 /template/page/html 下新建一个文件,命令为:redirect.phtml.redirect.phtml的内容为:Mage::转载 2012-08-16 11:24:34 · 5859 阅读 · 1 评论 -
如何得到website和store的collection?
对于多域名,多网店,我们想产看一下当前magento网店的website和store,这就要使用到magento的collection,故,需要把magento的所有的website和store调用出来,供使用,下面是一个得到webisite和store的collection,然后遍历出来的程序代码!希望有此需求的时候对您有所帮助2require_once('app/M转载 2012-08-16 11:27:13 · 584 阅读 · 0 评论 -
magento URL静态化,固定化,url经常变动的问题的解决
在magento中,URL,使用magento的方法的magento经常变动,做seo需要稳定的重写后URL譬如:http://www.magentowater.com/silverjewellerystores.com/jp/catalog/product/view/id/115/category/882/我们希望是重写后的URLhttp://www.magentowater.com转载 2012-08-16 11:31:02 · 1093 阅读 · 0 评论 -
从order中得到 Customer 和 Product Info
当有一个订单order,我们想在中间处理一下,得到customer和product的信息,或者做点别的事情,需要懂之间的关系,下面是一段参考代码,从order中得到 Customer 和 Product Info,大致怎么使用magento的items 1$orderid = "1000000054";转载 2012-08-16 11:29:32 · 770 阅读 · 0 评论 -
增强magento缓存机制-------magento提速方法
增强magento的缓存机制!magento系统是一个非常优秀的系统,个人分析如下1模块强大的可扩展性2eav表结构,让客户自己增加产品等属性非常容易,index manager这个功能在讲这些表合并起来,成为一个表,在数据库的product和category表,你应该能发现后缀为flat_1的表吧,这个就是magento表,这也是magento为什么在使用后,尤其是多网店,多转载 2012-08-16 11:29:06 · 871 阅读 · 0 评论 -
magento为您自己制作的模块增加面包屑导航breadcrumbs
magento的breadcrumbs是一个不错的功能,让自己制作新的模板的时候,也需要添加上breadcrumbs,增加更好的客户体验,magento的breadcrumbs机制,是一个很好的功能,扩展起来也是非常的方便,只要在您新的模块的controller对应的actions方法添加上就可以。,下面是一个例子:$breadcrumbs= $this->getLayout()->g转载 2012-08-16 11:22:27 · 1264 阅读 · 0 评论 -
麦金斗网店下得到当前用户的所有订单
在个人中心里面,有时候要更加详细的处理一些用户中心的事情得到当前用户的所有订单信息,代码如下:$customerId = Mage::getSingleton( 'customer/session' )->getCustomer()->getEntityId();$orderCollection = Mage::getModel('sales/order')->getCollect转载 2012-08-16 11:19:13 · 852 阅读 · 0 评论 -
Magento布局layout.xml文件详解
解析顺序布局xml文件一般位于app/design/{area}/{package}/{theme}/layout/目录下。Layout文件一般包含block、reference、action三种标签。 对于Magento系统,首先会将系统中相关相关的layout合并,合并一般是包括app\design\frontend\base\default\layout目录下的xml文件,以及指转载 2012-08-17 10:26:09 · 1181 阅读 · 0 评论 -
magento Layout布局原理解析
Magento中的布局 (Layout)包含一小部分的标记集合,作为详细说明关于程序如何建立一个页面,如何建立它的行为和每个构建的区块。最佳的布局途径是在每个角度正确的 划分和使用。为了让您能够做到这一点,下面是一些行为特性的布局XML标记。句柄(Handle) Handle (图1)是一个标识符,决定应用程序要如何通过嵌套的更新处理它。如果句柄的名称是,然后应用程序知道在加载网转载 2012-08-17 10:25:53 · 1052 阅读 · 0 评论 -
magento如何使用session
对于magento如何使用session,在使用的时候,原理这里就不说了,这里只讲怎么使用$sess = Mage::getSingleton("core/session", array("name" => "frontend"));$_SESSION['Code'] = '258A';//echo $_SESSION['Code'];?>你在任何一个执行的文件中这样转载 2012-08-16 11:31:25 · 1169 阅读 · 0 评论 -
如何去掉多网店的URL中___store 和___from_store
如何去掉多网店的URL中___store 和___from_store在多网店的模式中,会出现?___store=cn&___from_store=jp,等这些字符,这种URL对搜索引擎是不友好的,而且容易造成重复页面,所以要去掉,去掉就要去找代码,呵呵其实很简单找到文件app/code/core/mage/core/model/store.php大约897行 . (isset转载 2012-08-16 11:30:28 · 839 阅读 · 0 评论 -
magento不同的用户显示不同的分类和产品
This extension enables you to hide categories and products from customers depending on the customer group这个插件:magento不同的用户显示不同的分类和产品地址:http://www.magentocommerce.com/magento-connect/vinai/extensio转载 2012-08-16 11:30:02 · 885 阅读 · 0 评论 -
magento的event机制
magento的event机制在使用起来,是一个很好的东西在magento的各个执行的过程中,中间有很多的event,譬如sales_order_place_after,我们可以通过自己新建一个模块捕捉这个事件,代码如下:config> global> events> sales_order_place_after> observers>转载 2012-08-16 11:26:20 · 603 阅读 · 0 评论 -
增加一个layout template
magento默认的有5中layout template方式,分别为:empty1columns2columns-left2columns-right3columns这么5中,有时候我们想自己做一个新的layout template让我们的页面更加的灵活,方便下面是实现的步骤:增加一个4columns 的layout template 复制 app/co转载 2012-08-16 11:20:43 · 1152 阅读 · 0 评论 -
在magento菜单下加入一个静态块(static block)
magento1.6和1.7的版本有所不同在magento1.6下1首先重写block class,找到/app/code/core/Mage/Catalog/Block/Navigation.php,复制到/app/code/local/Mage/Catalog/Block/Navigation.php2找到方法: _renderCategoryMenuItemHtml这转载 2012-08-16 11:15:36 · 967 阅读 · 0 评论 -
如何禁用magento的事件
对于magneto的事件,有一些不想用了,可以禁用掉,然后就不执行了下面是如果执行的代码,下载模块的etc/config.xml文件中就可以了! frontend> events> controller_action_predispatch> observers>log>type>disabledtype>log>observers转载 2012-08-16 11:28:18 · 468 阅读 · 0 评论 -
在外部PHP文件中引用Magento代码
在Magento的开发当中,经常需要在外部PHP文件中引用Magento的各种类和方法,这也就以为着必须引入Magento核心类库。在外部PHP文件中引入Magento类库的方式实际上相当简单。只需要通过如下代码即可实现。在如下代码中,require_once(‘app/Mage.php’)就是我们在外部使用Magento类和方法的方式,Mage.php位于Magento的app目录下,根据外转载 2012-05-22 14:51:58 · 590 阅读 · 0 评论 -
Magento模板及布局文件中引用Static Block的方法
Static Block是Magento提供的非常实用的一种Block类型。通过Static Block,可以让不懂代码的店铺管理员轻易修改网站中的一些动态内容,而不需要修改Magento的核心代码。Magento Static Block的创建相当简单,通过后台CMS->Static Block即可查看或新建Static Block。建立完毕之后,可以在任意的Magento页面添加该段代码。转载 2012-05-22 14:46:47 · 558 阅读 · 0 评论 -
通过Ajax修改PHP全局变量$_POST
之前一直不太清楚$_POST变量是否会在提交的时候被Ajax截取并修改POST值。今天在给Magento表单添加Google recaptcha的时候,一直无法获取除了文件原始表单之外的任何新添加表单的值。调试了N久,心里想着可能在什么地方限制了表单数据,不过一直没有考虑是JS去做的。看下具体代码,0102030405060708转载 2012-05-22 14:32:56 · 872 阅读 · 0 评论 -
magento模块的config.xml
magento每个模块都存在etc文件夹,这是必须的文件夹,里面至少存在一个config.xml的配置文件,这个文件的配置是否正确,直接给予模块是否能正确运行,起关键性作用。Magento总是通过配置文件来获得类名,这个逻辑看起来有些复杂,但这样做的优点也很明显,我们可以不需要更改 Magento的代码就能更改Magento的核心功能。config.xml配置文件总以做为根标签。里面包含着各个转载 2012-05-14 14:37:08 · 674 阅读 · 0 评论 -
Magento 的 config.xml 配置参数详解
Path: app/code/(codepool)/(NameSpace)/(ModuleName)/etc/config.xml当你在Magento中新增一个或更新一个module的时候,需要在此config.xml中对所有的models,blocks,classes等做相应的配置。每一个module都有一个单独的config.xml文件,但是Magento在加载解析这些config.xml转载 2012-05-14 14:13:59 · 1268 阅读 · 0 评论 -
Magento后台操作视频学习
视频学习网址:http://www.youku.com/playlist_show/id_4022099.html原创 2012-05-11 15:26:28 · 738 阅读 · 0 评论 -
控制magento网站结构顺序的xml文件讲解
本次讲解使用magento1.4,模板使用base中default模板。我们对应着XML文件和phtml文件来进行说明,按照字母顺序还是说,我不太清楚的就忽略掉,我都不知道的,基本大多数人都用不到。xml文件全部在:app/design/frontend/base/default/layoutphtml文件以及文件夹全部在在:app/design/frontend/base/defau转载 2012-05-11 15:08:17 · 727 阅读 · 0 评论 -
Magento的layout指定的装载顺序
Layout文件的装载顺序是不定的,如果你总是想自己的Layout配置最后执行,应该在你的design目录下,如app/design /{package}/{your_layout_theme_name}/layout下建立local.xml,该文件里的设置将被最后执行。比如: 下面的代码将移除一个link.12345678"1.0"转载 2012-05-11 15:07:04 · 542 阅读 · 0 评论 -
模型和ORM基础(4)
对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分。对于Magento来说,模型占据了一个更加重要的位置,因为它常常包含了一部分商业逻辑代码(可以说它对,也可以说它错)。这些代码在其他的MVC框架中往往出现在控制器或者帮助函数中。传统的PHP MVC架构中的模型本来MVC的定义就不是很清晰,不同的人有不同的看法,而对于模型的定义争议就更多了。在MVC模式被广泛采用之前,转载 2012-05-04 14:22:55 · 481 阅读 · 0 评论 -
代码中获取一个Magento数据模型的方法
在block逻辑 或者是在 控制器下面的操作(action)中,获取一个Magento的数据模型的方法是:Mage::getModel(’[name of module]/[name of model]‘);[name of module] 和 [name of model] 都是忽略大小写的,还有[name of model] 中如果有下划线的话,Magento 会认为下划线左边部分是目转载 2012-05-07 17:01:26 · 338 阅读 · 0 评论