magento
cclehui
http://www.luojisiwei-inc.com/
展开
-
magento 邮件原理系列教程1
首先来看下magento后台都有哪些地方于mail有关1、system/config/general/store email addresses这项是用来配置magnento系统的各种邮件发信人的名字和邮件地址的这里配置的信息存储在core_config_data表中而如果在我们的程序中想调用发信人信息可以这样:原创 2012-10-22 10:35:07 · 1974 阅读 · 0 评论 -
magento翻译的各种用法
在magento的Block、phtml视图和控制器中都能够使用方法__()来翻译,该方法会根据提供的参数到app/locale/zh_CN(或其它当前语言目录)下搜索.csv文件中对应的翻译内容__()函数是可以带参数的,从而实现动态翻译,下面是几种用法1、不带参数$this->__("gift for you");这时候只要在csv文件中添加这么一句就能达到翻译的目原创 2012-11-22 17:06:53 · 2841 阅读 · 0 评论 -
magento配置缓存服务器
magento默认的缓存服务是通过文件来实现的,当我们需要提高网站的性能时可能会需要增加缓存服务器,那么如何配置缓存服务器呢,下面是个配置的例子:,但如果真要实现缓存加速建议先研究下这篇文件http://blog.csdn.net/clh604/article/details/8183532 掌握magento的缓存原理后再来做配置在app/etc/local.xml中节点global原创 2012-11-22 17:31:38 · 1327 阅读 · 0 评论 -
magento 消息机制
1、写消息Mage::getSingleton('checkout/session')->addSuccess( $this->__('Coupon code "%s" was applied.', Mage::helper('core')->htmlEscape($couponData['code'])) );Mage原创 2012-12-06 13:36:17 · 1307 阅读 · 0 评论 -
magento 全页缓存
全页缓存能极大的提高网页的响应速率,但magento社区的商用全页缓存工具都很贵,但是有一款免费的叫ezzoom,虽然免费但是功能强大,能够对产品、分类、特定模块进行缓存,还支持页面某些部分的动态加载同时也因为是免费的,没有技术支持,推荐使用之前一定要研究下它的源码1、使用方法跟普通模块安装没啥区别,唯一不同的是安装后需要的网站入口文件index.php中的Mage::run(原创 2012-11-22 17:46:45 · 2092 阅读 · 0 评论 -
magento 消息机制和错误信息传递
一个最直接的需求来源是:页面A抛出错误或者提示信息,当转向页面B时能够将其显示。一般来说有两种方案可以处理此问题:1. b.php?error_message=xxxxx 或者b.php?err_no=121,对于后者,系统制作一个错误号列表对应的信息,然后对应显示2. 使用session:将页面A出错或者提示信息放到session某个约定的变量中,然后在目标页原创 2012-12-06 13:39:12 · 2423 阅读 · 0 评论 -
magento 通过属性获取产品
有时候需要根据一个属性比如SKU来获取一个产品$product=Mage::getModel('catalog/product')->loadByAttribute('sku','70000');原创 2012-12-12 18:37:07 · 1198 阅读 · 0 评论 -
magento核心类-Varien_Object
Magento核心类Varien_Object你可以在这里找到这个类1. lib/Varien/Object.phpMagento模型的数据保存在“_data”属性中,这个属性是“protected”修饰的。父类“Varian_Object”定义了一些函数用来取出这些数据。我们上面的例子用了“getData”,这个方法返回一个数组,数组的元素是“key/value”对。【注:其原创 2013-01-25 11:28:53 · 2872 阅读 · 0 评论 -
mageno核心类-Varien_Profiler
Varien_Profiler类是magento用来监测程序执行时间和内存使用情况的类这个类的使用非常简单,所有方法都是static,要看具体怎么使用,请参考另一篇博文:http://blog.csdn.net/clh604/article/details/8541211Varien_Profiler::start('self::app::init'); self::$_app->in原创 2013-01-25 12:19:00 · 1351 阅读 · 1 评论 -
magento优化-性能-程序运行时间监测
在网站的优化过程中,通常需要查看程序的运行时间,mangento为我们提供了查看的方法。这里用到的magento核心类是Varien_Profiler用Varien_Profiler来监测程序运行时间的使用方法如下:Varien_Profiler::start('self::app::init'); self::$_app->init($code, $type, $option原创 2013-01-25 11:27:28 · 3458 阅读 · 0 评论 -
magento修改页面标题的3种方法
为了网站SEO的需要,我们需要修改站点各个页面的标题,修改有3种方法1、在controller中$this->getLayout()->getBlock('head')->setTitle($this->__('My Account'));2、在block或phtml文件中$this->getLayout()->getBlock('head')->setTitl原创 2013-01-15 14:29:10 · 3616 阅读 · 0 评论 -
magento开发数据库eav模型实例
这是官方的eav数据库模型实例,一定要认真看完才有效果,花半天到一天时间学习这个还是值得的,当然要想看明白这个需要对mangento开发有一定的了解和掌握英文原版:http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-7-advanced-orm-entity-attribute-value原创 2013-03-05 10:31:39 · 2834 阅读 · 1 评论 -
magento Block缓存实例-给AW_Blog插件添加缓存
aheadworks公司的Blog插件可以算是Magento所有免费插件中最有名也是使用最广泛的一个插件了,就我自己来说,也是每个项目的必备插件(我一般用来做为新闻插件使用)。今天拿它做例子演示下给Block添加缓存(Cache)。 这个截图是我某个项目使用aw_blog插件的实例,使用AW_Blog_Block_Blog这个block文件在首页输出某个新原创 2013-03-13 11:17:04 · 1581 阅读 · 0 评论 -
magento widget开发使用教程
widget又称动态block,首先widget有Block的特点,是用来获取数据然后在前台输出的,其次它不像block输出时需要在布局配置文件中配置,那么widget又如何配置和使用呢,下面我们通过一个例子来说明widget创建配置和使用的全过程1、创建widget从根本上说创建widget只需要一个配置文件widget.xml己可以了,在你module的etc/ 目录下原创 2013-03-01 14:19:19 · 3560 阅读 · 0 评论 -
magento memcache缓存配置
在app/etc/local.xml配置段中添加 cache段配置 false原创 2013-04-19 12:44:42 · 2188 阅读 · 0 评论 -
Nginx+fastcgi_cache 配置magento缓存
废话不多说,直接上配置文件server { listen 81; server_name localhost; root /opt/dev/workspace/magento17; ## App folder index index.php; location ~* \.(js|css|png|jpg|jpeg|gif|i原创 2013-06-09 15:18:56 · 2932 阅读 · 0 评论 -
重写magento的model, block 和controller
Magento的二次开发 , 最重要的一点 ,就是尽量不要修改Magento的核心文件. 一旦修改了magento的核心文件,以后如果要对magento进行升级, 那将是一个恶梦, 同时,也容易造成不同模块间的冲突, 背离magento模块之间低耦合的设计思想。Magento自身也提供了二次开发模式,即对magento的model, block, controller 进行重写 首转载 2012-11-22 11:59:48 · 4088 阅读 · 0 评论 -
magento在程序中创建订单(create order by code)
在magento的电子商务流程中,按照正常的支付流程就能够创建订单,但有的时候我们需要在程序中自己创建订单,比如当我们的产品不需要支付(比如软件),甚至不需要登录就能下载时,我们就需要在程序中创建这样一个订单,并且为订单开发票下面就是只需要产品Id信息就能够创建订单的代码 protected function _createOrder($productId) { $原创 2012-12-03 10:31:30 · 3127 阅读 · 0 评论 -
magento性能优化系列二:db篇
转自:http://blog.csdn.net/shangxiaoxue/article/details/7607974magento是一个灵活的系统,但是糟糕的是他的db总是显得很庞大很臃肿。或许是因为有很多的product,你知道的,EAV模式很灵活,但代价是数据很庞大,维护很繁琐。不幸的是,这并不是唯一一个使db慢的原因,大量的log充斥着db,其实很多许久的log已经没有意义,转载 2012-11-14 16:51:12 · 772 阅读 · 0 评论 -
magento 邮件原理系列教程2
这一节我们来看下如何在自己的module中配置和使用邮件模板1、首先我们要建立自己的Module(怎么建module不在这节的讨论范围内)Giftcards2、在module的config.xml中添加email的全局配置 giftcards_email_email_template只要保证全局唯一就可,但为了跟system.xml配合,推荐这原创 2012-10-22 11:57:29 · 1347 阅读 · 0 评论 -
magento 邮件原理系列教程3
这一节主要说magento邮件模板的编写1、在邮件模板中可以设置邮件的主题,主题的格式如下2、在模板中设置邮件的一些CSS样式<!--@stylesbody,td { color:#2f2f2f; font:11px/1.35em Verdana, Arial, Helvetica, sans-serif; }@-->3、邮件模板中的变量比如我们传入的参数格式如下:原创 2012-10-22 12:17:22 · 1735 阅读 · 0 评论 -
magento 发邮件SMTP插件
这一节我们介绍一个发邮件的插件Aschroder_SMTPPro,这个插件能够使邮件通过SMTP服务发出去,其实这个插件的原理很简单:就是重写了magento发邮件的两个核心类Mage_Core_Model_Email_Template和Mage_Core_Model_Email配置文件config.xml中的model重写配置原创 2012-10-22 12:25:56 · 5863 阅读 · 0 评论 -
magento 发邮件实例
magento的邮件是基于Zend_Framework 的Zend_mail 做的,所以最终会通过$mail($transport)来发邮件1、magento发邮件还是很容易的,下面是个发邮件的例子 $post = array( 'amount' => $amount, 'code' =原创 2012-10-22 13:33:09 · 1350 阅读 · 0 评论 -
magento 验证码
1、在magento后台有两个地方是用来设置验证码的,一是system/config/user/user config/captcha,这是用来设置前台相关的验证码,二是system/confg/advanced/admin/captcha,这是用来设置管理员登录的验证码2、但是如果我们在后台开启了对用户登录的验证码,用户登录的使用验证码仍然不会显示,这时候就需要在做一项配置在任何原创 2012-10-24 16:42:14 · 3612 阅读 · 2 评论 -
magento 获取自定义产品属性和属性值
在magento系统中经常要自定义自己的产品属性,在后台自定义的产品属性如何获取呢,下面根据属性类型的不同分别说明产品属性要想在前台获取到需要设置属性的Used in Product Listing 为true1、下拉列表的产品属性如定义了一个表示产品的硬件支持类型的下拉列表属性support_hardware就可以这样获取 $attributes['support_h原创 2012-11-05 16:21:23 · 8089 阅读 · 0 评论 -
magento获取产品的好评率
有时候需要获取产品的好评率rating_summary,获取方法如下$reviewModel=Mage::getModel('review/review');$reviewModel->getEntitySummary($product);//这一句会为$product设置ratingSummary,要不然$product->getRatingSummary()获取的是null$pr原创 2012-11-07 14:14:29 · 1233 阅读 · 0 评论 -
magento 获取产品的销售量
1、如已知产品ID为1$collection = Mage::getResourceModel('reports/product_sold_collection') ->addOrderedQty() ->setStoreId(1)原创 2012-11-07 14:55:05 · 2312 阅读 · 0 评论 -
magento产品列表排序、分页功能原理
我们以 catalog_category_layered 控制器为例说明在catalog.xml 找到catalog_category_layered配置段 Catalog Category (Anchor)原创 2012-11-07 19:27:20 · 4148 阅读 · 0 评论 -
php IteratorAggregate 排序
http://offshootinc.com/blog/2011/04/01/reusable-sorting-for-collection-objects-in-php/关键:<?phpfunction cmp($a, $b){ if ($a == $b) { return 0; } return ($a < $b) ? -1 : 1;转载 2012-11-06 16:33:21 · 1035 阅读 · 0 评论 -
magento Url重写方法
用户友好的Url重写是所有网站都需要的一个功能,在magento系统中,实现URL重写有多种方法,下面这几个方法的url重写优先级是逐渐降低的,也就是说方法1要比方法2先执行1、在后台的catalog->url rewrite management 中添加自己的URL重写在这里添加的url 重写都是静态的,一对一的,而添加的url都会存储到core_url_rewrite表中2原创 2012-11-13 15:42:06 · 4209 阅读 · 0 评论 -
magento APP、前端控制器、路由、控制器、动作分发过程
magento是基于zend_framework开发的电子商务系统,在很多方面于zf都相似,下面我们来看下magento 路由和动作分发的过程1、所有的请求都需经过index.php入口文件,在该文件中通过Mage::run($mageRunCode, $mageRunType);初始化APP,那么是如何初始化的呢,在Mage类中有这么一段 /** * Get i原创 2012-11-13 14:58:38 · 3792 阅读 · 1 评论 -
magento缓存系列详解:clean cache
转自:http://blog.csdn.net/shangxiaoxue/article/details/7601355cache是一个很大的概念,涉及的内容方方面面,magento cache是基于zend的,如果你对zend cache理解很深的话,相信magento cache也不再话下,本篇文章着重介绍Flush Magento Cache 和Flush Cache Stora转载 2012-11-14 16:46:48 · 1096 阅读 · 0 评论 -
magento性能优化系列一:.htaccess调整及其他
转自:http://blog.csdn.net/shangxiaoxue/article/details/7607965本文主要讲解magento性能优化的几个方面。如果不加注明的话,基本上适用任一版本。调整 .htaccess默认的 .htaccess是包含有关于处理性能的部分的,但是是被注释掉的,可以选择合适的部分取消注释;启用输出压缩这一部转载 2012-11-14 16:50:14 · 1262 阅读 · 0 评论 -
magento缓存系列详解:如何缓存一个block
转自:http://blog.csdn.net/shangxiaoxue/article/details/7710549magento是基于zend framework的,所以cache的使用基本也继承了他的一些特性。我们要知道缓存中有几个重要的概念:数据本身;数据的标识;缓存生命期;缓存操作接口;Zend_Cache 的使用比较简单, 它可以把数据保存到 File, Memcache转载 2012-11-14 16:49:06 · 2477 阅读 · 0 评论 -
magento 后台添加图片上传功能
有时候发现图片上传的后 $_FILES是空的,或者图片上传不成功,就要注意看下表单form的enctype 值有没有设置成multipart/form-data原创 2013-06-27 16:49:00 · 4132 阅读 · 0 评论