自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jonas的magento博客

专注于magento二次开发 高性能web架构

  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 php mail发送csv附件丢失第一行信息

附件程序代码:$uid = md5(time());$eol = PHP_EOL;$message = "--" . $uid . $eol;$message .= "Content-Type: text/html; charset=UTF-8" . $eol;$message .= "Content-Transfer-Encoding: 8bit" . $eol . $eol;$...

2018-10-19 11:00:14 368

原创 填坑之由hosts问题引发的问题

一开始连接memcached报错SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRY;排错步骤:1, 查看memcached服务端是否启动,ps aux |grep memcached, 显示启动2,查看memcached服务端端口状态,netstat -anp|grep 11211 ,也没问题3,查看memcached客户端是否安装php...

2018-09-20 11:25:01 1559

原创 git关于文件权限修改引起的冲突及忽略文件权限的办法

我们在使用git进行版本管理的时候,有时候只是修改了文件的权限,比如将pack.php修改为777,但其实文件内容并没有改变,但是git会认为此文件做了修改,原因是git把文件权限也算作文件差异的一部分了。下面做个测试:1、修改版本库的文件的权限,然后使用diff查看下改变。可以看到git把文件权限也列入了版本管理。2、在另外一个地方clone这个版本库,修改pac

2015-03-17 17:42:05 23266 1

原创 解决magento批量assign产品到分类时最多只能save成功1000件的问题

注 :文章中问题已在Magento EE 1.14 / CE 1.9得到验证。最近,我发现了一件非常奇怪的问题。当为一批产品(大于1000件)分配分类时,只有最多一千件产品能够保存成功,而其他的都被忽略了。为了解决这个问题,就需要我们去深入magento的源码进行分析测试。下面是Magento如何分配产品类别的源码:class Mage_Adminhtml_Catalog_

2015-03-03 11:56:08 1981

原创 如何远离虚假购物网站和钓鱼网站

现在,网上购物商城越来越多,网民也越来越多开始接触、了解和尝试着进行网上购物,但网上购物欺诈的负面消息也越来越多,那么,怎样绕开网上购物陷阱,确保自身的合法利益呢?笔者结合自身数十年网络购物及运营经验,总结了以下几点可以让大家了解下。

2015-01-26 16:00:36 1660 1

原创 如何将twitter关联到你的magento站点 oauth1

public function post_tweet($tweet_text) { include_once('twitter/tmhOAuth.php');//tmhOAuth.php为twitter api,放到/lib/twitter下,下载地址请往下阅读 $connection = new tmhOAuth(array( 'consumer_key

2014-07-03 17:57:23 2033

原创 解决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 3516 2

翻译 magento缓存系列详解:实施正确的缓存策略及不同缓存结构分析

本篇文章主要介绍一下在maegnto里cache(File System, APC, Memcached, Redis)的使用,及在不同的服务器环境中改怎么使用让其性能达到最佳。理解magento的Two-Level Cachingmagento默认使用zend framework的二层缓存存储方式。就是说它使用两层结构对cache进行配合管理,一个快的,但大小有限制的结构是一层比

2013-05-06 15:38:32 4054

原创 magento如何在CMS page中使用php code

通常我们创建一个cms page之后,在后台可以借助magento自带的编辑器进行一些简单的变量插入,但是如果页面内容比较复杂并且有很多自定义变量的时候,比如我们需要从db取一些数据或者对数据进行复杂处理时,自带的编辑器就无能为力了;一个比较好的方法就是创建自己的phtml,例如创建page.phtml:app/design/frontend/default/yourtheme/templat

2013-04-03 17:16:50 2596

原创 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 1273

原创 s3cmd 借助split分批实现文件同步备份

一直都在使用s3cmd工具对服务器进行同步备份,可是最近却出了点小问题,查证之后,发现是服务器文件打包后越来越大,达到了7G左右,导致s3cmd无法将其上传至amazon云端;解决办法就是需要将打包的档案借助split先进行切割,在进行上传;命令大致如下:tar -zcvf - db_backup.sql webserver/ | openssl des3 -salt -k passw

2013-03-25 10:08:30 2252

原创 新词举例记忆WSE 二

He is not a friend of mine, only anacquaintance. 美 [ə'kweɪntəns]The hospital is adjacent to a church.  [ə'dʒeɪsnt]For a goalkeeper,it's a greatadvantage to have big hands. [əd'væntɪdʒ]  You have

2013-02-22 18:13:06 1712

原创 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 8132 1

原创 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 2978

原创 新词举例记忆WSE

@:It's sort of embarrassing.[ɪm'bærəsɪŋ]adj.令人为难的;尴尬的@:She is a conscientious teacher.[ˌkɒnʃɪ'enʃəs]认真的;谨慎的;负责的1:I can’t concentrate on my work when I’m tired.  美 [ˈkɑːnsntreɪt]2:She became

2012-08-15 08:51:22 2483

原创 magento email:快速实现发送自定义邮件

之前介绍了一下稍微复杂一点的 magento email:发送自定义邮件但是呢,当我们对magento email机制有一定的了解之后,便可以在模块中使用自定义邮件模板快速实现发送邮件功能!登入后台system->Transactional Emails,单击右上角Add New Template,选择一个已存在的template,单击Load Template修改Temp

2012-08-06 16:26:34 6475

原创 magento email:发送自定义邮件

邮件是几乎所有电商系统都要用到的功能,在magento中实现简单的邮件发送并不复杂,不过要想用特定邮件模板,就需要对magento邮件系统做一些深入了解,本文就分析一下如何发送自定义邮件。之前已经发了一篇介绍magento基本邮件设置的文章Magento Transactional Emails常规设置,大家可以先了解一下。有几个关键的点先说一下,大家好有个印象,system.xml,conf

2012-07-18 16:17:37 8101

原创 Magento Transactional Emails常规设置

magento 允许我们自行管理电子邮件,修改电子邮件内容和设置电子邮件的一些参数。我们从一个示例开始学习如何进行邮件管理:登入后台 System -> Transactional Emails单击Add New Template按钮,将显示New Email Template页面(如下图所示)。在Load Default Template 下拉框中,首先选择您要编辑的现有模板名称

2012-07-17 16:42:51 5345 1

原创 magento缓存系列详解:如何缓存一个block

magento是基于zend framework的,所以cache的使用基本也继承了他的一些特性。我们要知道缓存中有几个重要的概念:数据本身;数据的标识;缓存生命期;缓存操作接口;Zend_Cache 的使用比较简单, 它可以把数据保存到 File, Memcache, SQLite 等介质(称为后端, Backend)中. 还有前端(Frontend), 主要用来对要缓存的数据进行转换,

2012-07-03 08:41:32 4329

原创 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 3737

原创 magento性能优化系列二:db篇

magento是一个灵活的系统,但是糟糕的是他的db总是显得很庞大很臃肿。或许是因为有很多的product,你知道的,EAV模式很灵活,但代价是数据很庞大,维护很繁琐。不幸的是,这并不是唯一一个使db慢的原因,大量的log充斥着db,其实很多许久的log已经没有意义,所以适时清除log就显得尤为必要。下面给出如何清除log的方法。NOTE: 操作之前请确认已经对db做了完整的备份mag

2012-05-28 08:29:12 5644

原创 magento性能优化系列一:.htaccess调整及其他

本文主要讲解magento性能优化的几个方面。如果不加注明的话,基本上适用任一版本。调整 .htaccess默认的 .htaccess是包含有关于处理性能的部分的,但是是被注释掉的,可以选择合适的部分取消注释;启用输出压缩这一部分会打开 apache 的mod_deflate模块,将text、 css 和 javascript 先进行压缩再发送到浏览器。这样就会减少网络下载量,缩短

2012-05-28 08:15:37 4997

原创 magento缓存系列详解:clean cache

cache是一个很大的概念,涉及的内容方方面面,magento cache是基于zend的,如果你对zend cache理解很深的话,相信magento cache也不再话下,本篇文章着重介绍Flush Magento Cache 和Flush Cache Storage 两个按钮的区别;为了理解这两个选项之间的区别,你要先了解一些东西如缓存如何在 Magento 中工作。特别是要能准

2012-05-25 11:52:43 8494

翻译 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 5217

翻译 为什么程序员的工作效率跟工资不成比例

英文原文地址:http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/最有效率的程序员会比一般的程序员的编程效率高上几个数量级。但在任何公司里,他们的工资水平却只会出现很小的浮动差距。甚至在整个行业内,这种差距也不是很大。如果一个程序员

2012-05-10 08:43:17 2836

原创 phpize使用介绍--以安装xdebug.so 为例

php安装成功后,在bin目录下会生成一个名phpize的可执行脚本,它的用途是用来动态安装php扩展模块。使用phpize的好处是:在已经安装了php的情况下,再安装扩展模块时,无需重新编译安装php,可直接安装扩展;以下为一个安装xdebug的实例。安装步骤如下:首先去官方网站下载所需文件 http://www.xdebug.org/,我用xdebug 2.0.5安装步

2012-05-09 14:00:55 3791

原创 centos 安装,配置memcached

先查看是否已经安装了memcached输入memcached -h会输出memcached版本,或print phpinfo查看;memcached需要libevent支持,没有libevent,就先安装libeventyum install libevent-develmemcached安装可以采用源码编译安装,也可以使用yum;源码编译安装 #wg

2012-05-07 15:53:30 2831

原创 magento的rewrite机制和OOP的隐藏特性

在面向对象编程中,大家都知道类之间有重载(overload)、覆盖(override)、隐藏(hide)三种关系,相信很多人对他们都已经很了解了,所以今天分析的重点也不是这些,而是magento中的rewrite机制,为什么会先提一下oop的三种特性呢,因为我觉得他们和magento的rewrite机制很相似,但相似并非相同,还是先看下代码吧,比较容易理解。Magento发邮件时,使用的是

2012-04-28 11:40:43 1783

原创 How to get the easter day(php求复活节日期)

之前项目上用到的,存档一下!function getEsterDay($y){//$y当前年份 如2012 $a = $y%19; $b = intval($y/100); $c = $y%100; $d = intval($b/4); $e = $b%4; $f = intval(($b+8)/25); $g = intval(($b-$f+1)/3);

2012-04-27 13:08:06 936

转载 mysql组合索引"最左前缀"的结果。简单的理解就是只从最左面的开始组合

原文出处:http://www.justwinit.cn/post/1935/create TABLE myIndex ( i_testID INT NOT NULL AUTO_INCREMENT, vc_Name VARCHAR(50) NOT NULL, vc_City VARCHAR(50) NOT NULL, i_Age INT NOT NULL, i_SchoolID INT N

2012-04-26 14:21:01 5409

原创 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 2430

原创 JQuery和Prototype区别小结

jQuery使用得比较顺手也比较喜欢,不得已也要用Prototype,小小整理下区别。。页面载入// JQuery$ ( document ). ready ( function () {        // Code}); // JQuery Shorthand$ ( function () {        // Code});

2012-04-11 09:59:46 1318

原创 英文谚语

1.Think carefully before you act.2.Truth is the daughter of time.3.Opportunity knocks but once.4.Don't dream away your time.5.All for one,one for all.6. East,west,home is best.7.Knowledge

2012-03-29 11:14:03 653

转载 带你深入了解Web站点数据库的分布存储

作者:finalbsd原载: http://www.sanotes.net/html/y2009/358.html在Web 2.0时代,网站将会经常面临着快速增加的访问量,但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这个不怪数据库,毕竟要满足很大访问量确实对于任何一款数据库都是很大的压力,不论是商业数据库Oracle、MS sql Server

2012-03-28 15:52:44 892 1

原创 http设置无缓存

Cache-Control:nocachePragma:no-cacheExpires:-1

2012-03-28 15:28:07 889

转载 http长连接与短连接

一、长连接与短连接:长连接:client方与server方先建立连接,连接建立后不断开,然后再进行报文发送和接收。这种方式下由于通讯连接一直存在。此种方式常用于P2P通信。短连接:Client方与server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此方式常用于一点对多点通讯。C/S通信。二、长连接与短连接的操作过程:短连接的操作步骤是:建立连接—

2012-03-28 10:03:55 854

原创 简单实用英文句子

1. After you. 你先请。这是一句很常用的客套话,在进/出门,上车得场合你都可以表现一下。2. I just couldn't help it. 我就是忍不住。想想看,这样一个漂亮的句子可用于多少个场合?下面是随意举的一个例子:I was deeply moved by the film and I cried and cried. I just couldn't h

2012-03-26 08:45:57 714

原创 '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 1633 2

原创 如何在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 3519

转载 不要叫我大学生! 我只是个打工仔!

转自Club.ChinaRen.com不要叫我大学生!我是读过大学,但我不喜欢别人叫我大学生。因为我是背着高中时候的书本考上大学的。在大学里是在老师的思想统治下读完的。当我工作的时候学校的东 西对我的指导很有限,好多东西我得自己现学。我想好多和我一样的毕业生也会有同感。大学毕业,情商很低,对于交往还是那么陌生,对于处事还是那么的天真。不要叫我大学生!我只是个打工仔,和全国几千万

2012-01-04 17:02:16 1522

twitter api源码

这个api能将你的个人站点和你的twitter关联,如你在你的个人站点发布一篇文章,可以同时将它发布到你的twitter上!

2011-12-27

facebook api源码

使用此API,可以轻松和你的任意站点集成,如blog,商城等;举个简单例子:你在你的个人blog发布了一篇文章,正确使用这个API,可以同时自动将文章关联的你的facebook上!

2011-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除