magento点滴
文章平均质量分 87
jonas
这个作者很懒,什么都没留下…
展开
-
升级magento后 快速搜索功能损坏
前段时间将magento升级到了1.5,经测试,有很多功能都不能使用,比如快速搜索功能。问题:在搜索框内不论输入任何字符,都只返回一种产品!解决方法:编辑app/code/core/Mage/CatalogSearch/Block/Result.php删除149-150行前注释$原创 2011-07-08 11:54:34 · 1458 阅读 · 0 评论 -
magento添加confirm email验证
2012-5-26更新为http://blog.csdn.net/shangxiaoxue/article/details/7600676编辑prototype/validation.js添加代码 ['validate-cemail', 'Please make sure your email matches.', function (v) {原创 2011-08-17 16:17:07 · 2028 阅读 · 2 评论 -
magento中如何使用Prototype对form进行验证
web开发中,虽然 Javascript 不是你唯一的form验证方式,但使用它肯定会对站点的可用性和效率有帮助。Magento 中的 Javascript 验证默认情况下 Magento 使用form.js (js/varien/form.js) 来提供抽象形式的 Javascript 函数,我认为-此class的最有用的应用就是表单验证。form.js 的验证类是Prototype翻译 2012-05-25 09:24:28 · 5269 阅读 · 0 评论 -
magento缓存系列详解:如何缓存一个block
magento是基于zend framework的,所以cache的使用基本也继承了他的一些特性。我们要知道缓存中有几个重要的概念:数据本身;数据的标识;缓存生命期;缓存操作接口;Zend_Cache 的使用比较简单, 它可以把数据保存到 File, Memcache, SQLite 等介质(称为后端, Backend)中. 还有前端(Frontend), 主要用来对要缓存的数据进行转换,原创 2012-07-03 08:41:32 · 4359 阅读 · 0 评论 -
magento的rewrite机制和OOP的隐藏特性
在面向对象编程中,大家都知道类之间有重载(overload)、覆盖(override)、隐藏(hide)三种关系,相信很多人对他们都已经很了解了,所以今天分析的重点也不是这些,而是magento中的rewrite机制,为什么会先提一下oop的三种特性呢,因为我觉得他们和magento的rewrite机制很相似,但相似并非相同,还是先看下代码吧,比较容易理解。Magento发邮件时,使用的是原创 2012-04-28 11:40:43 · 1819 阅读 · 0 评论 -
Magento Transactional Emails常规设置
magento 允许我们自行管理电子邮件,修改电子邮件内容和设置电子邮件的一些参数。我们从一个示例开始学习如何进行邮件管理:登入后台 System -> Transactional Emails单击Add New Template按钮,将显示New Email Template页面(如下图所示)。在Load Default Template 下拉框中,首先选择您要编辑的现有模板名称原创 2012-07-17 16:42:51 · 5370 阅读 · 1 评论 -
magento缓存系列详解:clean cache
cache是一个很大的概念,涉及的内容方方面面,magento cache是基于zend的,如果你对zend cache理解很深的话,相信magento cache也不再话下,本篇文章着重介绍Flush Magento Cache 和Flush Cache Storage 两个按钮的区别;为了理解这两个选项之间的区别,你要先了解一些东西如缓存如何在 Magento 中工作。特别是要能准原创 2012-05-25 11:52:43 · 8524 阅读 · 0 评论 -
magento email:快速实现发送自定义邮件
之前介绍了一下稍微复杂一点的 magento email:发送自定义邮件但是呢,当我们对magento email机制有一定的了解之后,便可以在模块中使用自定义邮件模板快速实现发送邮件功能!登入后台system->Transactional Emails,单击右上角Add New Template,选择一个已存在的template,单击Load Template修改Temp原创 2012-08-06 16:26:34 · 6544 阅读 · 0 评论 -
magento email:发送自定义邮件
邮件是几乎所有电商系统都要用到的功能,在magento中实现简单的邮件发送并不复杂,不过要想用特定邮件模板,就需要对magento邮件系统做一些深入了解,本文就分析一下如何发送自定义邮件。之前已经发了一篇介绍magento基本邮件设置的文章Magento Transactional Emails常规设置,大家可以先了解一下。有几个关键的点先说一下,大家好有个印象,system.xml,conf原创 2012-07-18 16:17:37 · 8206 阅读 · 0 评论 -
magento开发常用函数
开发中经常用到的函数,不断更新...//Get the path of your magento page.echo $this->getUrl('mypage');//Get the path of the image in your skin folder.echo $this->getSkinUrl('images/yourimage.gif');//Get the pr原创 2011-11-29 10:41:35 · 4087 阅读 · 0 评论 -
magento中有用的代码片段
创建订单,需要有一个包含地址的个人账户$id=1; // get Customer Id$customer = Mage::getModel('customer/customer')->load($id); $transaction = Mage::getModel('core/resource_transaction');$storeId = $customer->getStor原创 2012-10-24 15:09:24 · 3011 阅读 · 0 评论 -
magento如何改变产品的排序方式
magento中可以方便的设置前台产品的排序方式,我们可以设置sotr by为price,name,best value及其他一些attribute,以满足排序要求。magento默认的是Best Value,那到底什么是Best Value呢?在官方手册上有么两段解释 version 1.7:page 75./85. “Product Listing Sort By: The pro原创 2012-11-23 15:41:59 · 8172 阅读 · 1 评论 -
Magento: 通过category name获取category信息
$cat = Mage::getResourceModel('catalog/category_collection')->addFieldToFilter('name', 'Category_Name_Here');print_r($cat->getData());To get the category id from $cat object, simply use:$cat->getFi原创 2013-03-29 13:51:28 · 1312 阅读 · 0 评论 -
magento如何在CMS page中使用php code
通常我们创建一个cms page之后,在后台可以借助magento自带的编辑器进行一些简单的变量插入,但是如果页面内容比较复杂并且有很多自定义变量的时候,比如我们需要从db取一些数据或者对数据进行复杂处理时,自带的编辑器就无能为力了;一个比较好的方法就是创建自己的phtml,例如创建page.phtml:app/design/frontend/default/yourtheme/templat原创 2013-04-03 17:16:50 · 2628 阅读 · 0 评论 -
magento缓存系列详解:实施正确的缓存策略及不同缓存结构分析
本篇文章主要介绍一下在maegnto里cache(File System, APC, Memcached, Redis)的使用,及在不同的服务器环境中改怎么使用让其性能达到最佳。理解magento的Two-Level Cachingmagento默认使用zend framework的二层缓存存储方式。就是说它使用两层结构对cache进行配合管理,一个快的,但大小有限制的结构是一层比翻译 2013-05-06 15:38:32 · 4092 阅读 · 0 评论 -
解决magento保存产品时耗时很长的问题
以前我在更新产品属性值(拿price为例)的时候,通常会这样做:foreach($product_ids as $id){ $product = Mage::getModel('catalog/product')->load($id); $product->setPrice($price)->save();}因为之前网站产品很少,也就几百个,foreach下来,不会感觉这原创 2013-08-30 15:27:58 · 3563 阅读 · 2 评论 -
magento性能优化系列一:.htaccess调整及其他
本文主要讲解magento性能优化的几个方面。如果不加注明的话,基本上适用任一版本。调整 .htaccess默认的 .htaccess是包含有关于处理性能的部分的,但是是被注释掉的,可以选择合适的部分取消注释;启用输出压缩这一部分会打开 apache 的mod_deflate模块,将text、 css 和 javascript 先进行压缩再发送到浏览器。这样就会减少网络下载量,缩短原创 2012-05-28 08:15:37 · 5051 阅读 · 0 评论 -
addFieldToFilter 与 addAttributeToFilter使用总结
magento初学者在开发过程中,对addFieldToFilter和addAttributeToFilter的使用会比较迷惑,例如你在一个自定义模块中,在引用自己的table时,假如使用了addAttributeToFilter这个function,可能就会报错。简单分析下原因:我们在自定义模块里的collection类,因为没有涉及到EAV模型,一般都是继承Mage_Core_Mode原创 2011-12-28 10:40:56 · 6278 阅读 · 2 评论 -
magento sql 用法
$resource = Mage::getSingleton('core/resource'); $tableName_votes = $resource->getTableName('jselfless/votes'); $tableName_image = $resource->getTableName('jselfless/image'); $collection = Mage:原创 2012-06-07 08:53:29 · 3751 阅读 · 0 评论 -
命令行升级magento从1.4到1.5
之前升级的时候,执行./mage install http://connect20.magentocommerce.com/community Mage_All_Latest会自动升级到最新版本,但是最新的1.6是beta版的,并不是我想要的,我想升级到1.5。可以按自己指定的版原创 2011-07-08 13:18:06 · 1339 阅读 · 0 评论 -
升级magento到1.5后报错Invalid method Mage_Wishlist_Model_Item::canConfigure magento 1.5
升级完magento到1.5之后,会有很多bug,以下是几个和 wishlist有关的!1:列表页点击Add to Wishlist出现Invalid method Mage_Wishlist_Model_Item::canConfigure(Array())解决办法:1. Co原创 2011-07-29 10:51:55 · 1213 阅读 · 0 评论 -
magento添加添加自定义属性
首先要确认所加的attribute属于哪个attribute_group。1.主要操作三个表:eav_attribute,eav_entity_attribute,catalog_eav_attribute(1.4以上才有的)2.执行语句:INSERT I原创 2011-08-17 16:56:35 · 2645 阅读 · 0 评论 -
magento后台加form表单页面变形
在magento二次开发时,经常需要自己加一些模具,来满足自己的特定需求。添加Block/里面的文档时,需要特别注意一些地方,其中包括在Form.php中addField的时候,示例代码如下:$fieldset->addField('todo', 'select', array( 'label' => Mage::helper('education')->__('Todo'),原创 2011-10-21 09:56:39 · 1950 阅读 · 0 评论 -
使用代码对magento进行reindex
在后台System -> Index Management,我们可以手动进行reindex,其实呢,使用代码也是可以方便的进行reindex的。进入System -> Index Management,假设共有以下项目:1. Product Attributes2. Product Prices3. Catalog URL Rewrites4. Product Flat Dat原创 2011-11-15 16:03:15 · 1791 阅读 · 0 评论 -
magento 如何上传file/image/video
首先创建模块所需要的所有文件夹。在/app/code/local/Company/ModName/Block/Adminhtml/ModName/Edit/Form.php添加‘enctype’ => ‘multipart/form-data’这样才能够使用$_FILES 获取值。code如下:$form = new Varien_Data_Form(array(‘id’ =>原创 2011-10-27 18:46:41 · 3284 阅读 · 0 评论 -
magento输出到phtml
//第一种$block=$this->getLayout()->createBlock(‘newslettercampaign/adminhtml_view’)->setTemplate(“newslettercampaign/test.phtml”);$block->assign(‘id’,$id);//输出变量到phtml$block->setPrice($price);/原创 2011-10-28 17:14:21 · 2490 阅读 · 0 评论 -
Magento Fatal Error: Call to member function getSku() on a non-object
错误描述Fatal error: Call to a member function getSku() on a non-object in /path/on/server/app/code/core/Mage/Catalog/Model/Product/Option/Type/Select.php on line 221.或Fatal error: Call to a mem原创 2011-11-17 16:48:29 · 2964 阅读 · 0 评论 -
如何在magento中使用ajax
magento自带了prototype这个JS框架,因为prototype封装了常用的ajax功能,所以magento也可以很方便的使用ajax。jsfile.js 代码如下,注意url是https的别忘了s var url = 'https://www.domain.net/your_module/your_controller/getdata/' function get原创 2012-01-10 15:45:46 · 3533 阅读 · 0 评论 -
'Blocks HTML' Cache Types are invalidated
升级magento到1.5之后,后台Cache Storage Management那里好像出现了一点小问题,基本上每次将Blocks HTML output改为enabled之后,第二天又会是invalidated(我这里因为cron每天都会执行catalogrule),或者每次在后台任意点开某个product,然后再save,Blocks HTML output也会从enabled变为inva原创 2012-02-23 16:59:02 · 1668 阅读 · 2 评论 -
magento中的joinAttribute joinField
通常我们使用Mage::getModel('catalog/product')->getCollection()能够获取到产品集。在这个产品集中,只包含了table catalog_product_entity 中的字段,但是很多时候我们都需要更多的字段,比如产品price,qty等;一般情况下,我们会这样做:$collection = Mage::getModel('catalog原创 2011-07-15 16:54:26 · 2926 阅读 · 0 评论 -
magento在后台form里面添加css和js
在后台创建的html元素,一般都是在function _prepareForm()里面调用addField;如下代码创建一个button $buttonstyle = "padding-left:6px;border-color:#ED6502;text-align:center;"; $fieldset = $form-原创 2012-04-17 13:52:50 · 2466 阅读 · 0 评论 -
浅析magento执行sql文件夹下install-version.php下过程
在安装或升级magento模块时,不需要手动往mysql中导入需要的table,因为magento能够自己进行版本比较,决定是install还是upgrade。下面就简单分析一下magento的执行过程。执行任意url,进入index.php文件,执行run函数;Mage.php中, 看run函数self::$_app = new Mage_Core_Model_App();原创 2011-10-27 16:36:58 · 2313 阅读 · 0 评论 -
magento性能优化系列二:db篇
magento是一个灵活的系统,但是糟糕的是他的db总是显得很庞大很臃肿。或许是因为有很多的product,你知道的,EAV模式很灵活,但代价是数据很庞大,维护很繁琐。不幸的是,这并不是唯一一个使db慢的原因,大量的log充斥着db,其实很多许久的log已经没有意义,所以适时清除log就显得尤为必要。下面给出如何清除log的方法。NOTE: 操作之前请确认已经对db做了完整的备份mag原创 2012-05-28 08:29:12 · 5659 阅读 · 0 评论 -
centos 安装,配置memcached
先查看是否已经安装了memcached输入memcached -h会输出memcached版本,或print phpinfo查看;memcached需要libevent支持,没有libevent,就先安装libeventyum install libevent-develmemcached安装可以采用源码编译安装,也可以使用yum;源码编译安装 #wg原创 2012-05-07 15:53:30 · 2845 阅读 · 0 评论 -
解决magento批量assign产品到分类时最多只能save成功1000件的问题
注 :文章中问题已在Magento EE 1.14 / CE 1.9得到验证。最近,我发现了一件非常奇怪的问题。当为一批产品(大于1000件)分配分类时,只有最多一千件产品能够保存成功,而其他的都被忽略了。为了解决这个问题,就需要我们去深入magento的源码进行分析测试。下面是Magento如何分配产品类别的源码:class Mage_Adminhtml_Catalog_原创 2015-03-03 11:56:08 · 2009 阅读 · 0 评论