新 文

M.J

All posts in “MAGENTO”

Magento数据库优化/减肥,清空多余的日志文件

今天有一个客户反馈说设置了新产品后,首页不显示,连之前有的产品都没有了,厦门简尚网络登录到CPANEL面板里一看,原来是空间超出了。

随着Magento网站访问量的增加,Magento数据库也越来越大了,甚至有几十个G,直接后果:
1.影响网站和数据库性能;
2.备份/恢复数据库花费的时间增加了;
3.占用磁盘空间;
4.出现一些设置产品不显示的问题

Magento数据库迅速膨胀,主要是由于一些日志数据的剧增,可以通过Magento自身的cron定时清理日志。
另外一种又快又好的办法是执行SQL清理,如下:
truncate dataflow_batch_export;
truncate dataflow_batch_import;
truncate log_customer;
truncate log_quote;
truncate log_summary;
truncate log_summary_type;
truncate log_url;
truncate log_url_info;
truncate log_visitor;
truncate log_visitor_info;
truncate log_visitor_online;
truncate report_viewed_product_index;
truncate report_compared_product_index;
truncate report_event;
set foreign_key_checks = 0;
truncate index_process_event;
truncate index_event;
set foreign_key_checks = 1;
数据库清理数据有风险,请注意备份好数据库。

解决了上述问题,我们要怎么样可以避免数据库日志的增加呢?
我们可以设置magento自动清空log,方法如下:
1) 登录你的magento后台进入 System ->  Configuration
2) 在左栏进入 Advanced -> System
3) 打开 Log Cleaning
4) 设置 “save log, days” 到一个数值, 这个的单位是天,我觉得几天清空一次就好了
5) 设置激活自动清空log设置

如下图为设置每天自动清空我的magento数据库log。这里清理的时间段还是比较少人访问的时候,可以节省服务器的开销,然后是可以避免前台在线客户的一些数据产生异常。

20131023113023957
图中表示的意思,log保存时间为:7天,开启自动清理缓存:是,清理开始时间:0时,清理的频率:一周

这样就可以避免空间浪费和提高了那么点运行速度了。

 

 

—————————————————————-

 

给Magento网站搬家到时候发现的,数据库大小差不多1G了,但是网站总共产品都不到100呢,严重影响网站备份效率,以下是清理Magento数据库的方法。

方法1:SQL清理Magento日志记录表。

主要涉及到的表有dataflow_batch_export、dataflow_batch_import、log_customer、log_quote、log_summary、log_summary_type、log_url、log_url_info、log_visitor、log_visitor_info、log_visitor_online、report_viewed_product_index、report_compared_product_index、report_event。
这里给出sql清理脚本:

当然,直接进入phpmyadmin清理相关表也可以,见下图。
30695427
选定之后,直接清空即可。

方法2:Magento后台清理

System > Configuration > Advanced > Log Cleaning > Enable Log Cleaning,把默认的180修改为15,即15天自动清理一次,之后保存。
644768171

2016年5月28日 0 / /
标签:  暂无标签

magento站点还原到本地

问题描述

 

首先将网站文件夹解压到xampp/htdocs/wenjianjia目录下,然后替换sql文件里的域名为localhost/wenjianjia。然后访问前台,正常。访问后台,出问题了

Magento网站后台不能通过localhost/wenjianjia/admin的形式访问(前提是URL重写已经开启),这样会跳转到localhost/xampp,如果以localhost/wenjianjia/index.php/admin形式访问,则每次点击login一直停留在登录页面,至于注释varien.php文件,这个我早就注释了,可见问题不在这里

解决步骤

 

原因是因为我在做url优化时,将所有的url优化到了只有一层,比如

www.domain.com/catalog/sub-catalog =>www.domain.com/sub-catalog

www.domain.com/catalog/product =>www.domain.com/product

所以当我在xampp环境下再来还原这个站点时,就出现了问题,这里域名变成了localhost/wenjianjia,而我做的url重写会把wenjianjia/admin去掉,这样相当于访问了localhost,而在xampp环境下,这个url等价于localhost/xampp,所以每次访问都到了xampp界面

解决方法是配置虚拟空间

1、将wenjianjia的内容移到D:\magento下

2、编辑D:\xampp\apache\conf\extra\httpd-vhosts.conf文件

添加如下代码

 

3、编辑D:\xampp\apache\conf\httpd.conf文件

添加如下代码

 

4、然后重启服务器

5、然后再修改本地hosts文件

添加

127.0.0.1 www.yahuimagento.com

6、刷新dns缓存。

7、然后清空数据库,将域名替换成www.yahuimagento.com的sql文件重新导入数据库。

最后在浏览器中访问www.yahuimagento.com,前台正常

然后访问www.yahuimagento.com/admin终于进到了网站后台

2016年5月27日 0 / /
标签:  暂无标签

magento性能优化系列二:db篇

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

NOTE: 操作之前请确认已经对db做了完整的备份

magento维护着一些关于log的table,比如customers 浏览记录,产品的比较记录等;magento本来是有自己的方法定期清除这些log,但不幸的是,这个特性默认是没开启的,并且大多数客户也没用开启它;有3种办法能清除这些table:后台清除;通过log.PHP ,在 ../shell 目录下;通过phpMyAdmin或MySQL客户端;
以下列出相关log的table

log_customer
log_visitor
log_visitor_info
log_url
log_url_info
log_quote
report_viewed_product_index
report_compared_product_index
report_event
catalog_compare_item

 

一:后台清除
1:登入后太 System > Configuration.
2:左侧菜单 Advanced 下点击 System.

3:在”Log Cleaning”下, 改变”Enable Log Cleaning” 为 YES 并且配置Save Log 为15 days:

4:”Save Config”

二:Log.php

进入magento/shell/目录
执行php -f shell/log.php clean

-days 指定清除周期天数。

三:通过PhpMyAdmin
这是最灵活也是最高效的方法,进入后选择以下table

dataflow_batch_export
dataflow_batch_import
log_customer
log_quote
log_summary
log_summary_type
log_url
log_url_info
log_visitor
log_visitor_info
log_visitor_online
report_viewed_product_index
report_compared_product_index
report_event

然后进行empty操作即可。

2016年5月18日 0 / /
标签:  暂无标签

本地安装Magento系统

《Magento中文教程(一) –  本地安装Magento系统》是锐想Magento中文社区为大家带来的第一讲Magento视频教程。主要讲解了如何在本地安装Magento系统。为所有想学习Magento操作和打算采用Magento作为在线销售方案的朋友,在本地搭建Magento演示提供一个简单的方法。

这节视频是锐想Magento中文社区的第一讲,同时也是个人来说首次录制类似的视频教程。有各种意见都可以发布到论坛的板块上,我们都会及时回复。

Magento视频教程(一) – 本地安装Magento系统
一,本地安装PHP、MySQL、Apache的环境
系统:Xp,Win7(32位及64位系统)
软件:xampp (传送门本地)(传送门官方

二,Magento安装
版本:Magento 1.7.0.2(传送门本地) (传送门官方

 

http://www.ruiwant.com/magento-tutorials-part-1-install-magento-on-localhost.html

Magento创建configurable产品的要点

Magento的产品类型可分为Simple Product、Group Product、Configurable Product、Virtual Product、Bundle Product、Downloadable Product。其中Simple的产品最简单,属于基础产品。Configurable Product和Bundle Product的产品是建立在这些Simple产品之上的。

Configurable Product 和 Bundle Product的产品都可以独立的跟踪库存 。Custom Option是无法跟踪独立产品的库存。Configurable Product是需要独立建立不同属性的产品的组合,而 Bundle Product是可以组合产品的。举个例子来说,一件衣服有2种颜色和3个大小,建立Configurable Product 需要创建6个独立的Simple产品,而Bundle 是只需要创建2+3=5个Simple产品。在属性比较多的时候,区别还是很大的。

关于Configurable Product 的创建,不得不说,Magento管理后台的用户体验很差。前段时间教我的同事创建Configurable Product,过了一阵子,忘了,为此写下这篇文章。

首先创建Configurable Product有3个要点:

1. 在属性集里必须有一个全局的属性,即属性的Scope为Global。

2. 属性的Catalog Input Type for Store Owner要选择Dropdown。

3. 属性的Use To Create Configurable Product要选择Yes。

下面以创建一个Configurable Product为例,该产品有一个cm_color的属性。有bule、red、yellow。价格分别为10、20、30。

创建Configurable Product的属性

从导航进入到CataLog->Attributes->Manage Attributes,在Properties这个tab中:

magento-create-configurable-product01

新建一个cm_color的属性,Scope选择Global,Catalog Input Type for Store Owner为Dropdown,Catalog Input Type for Store Owner为Yes,注意图中画红线的部分。

magento-create-configurable-product14

切换到Manage Label/Options,添加该属性在不同语言的store显示不同的Title,这里只需填写Admin的部分就可以了。

给该属性添加3个选项,Bule、Red、Yellow,然后Save Attribute。

magento-create-configurable-product21

将属性添加到属性集中

从导航进入到CataLog->Attributes->Manage Attributes Sets,选择Default属性集。

magento-create-configurable-product31magento-create-configurable-product41

将cm_color属性从右边的Unassigned Attribute拖到左边的Groups的General组,完成之后Save Attribute Set。

magento-create-configurable-product51

创建Configurable Product

从导航进入到CataLog->Manage products,点击Add Product。Attribute Set 选择Default,Product Type 选择Configurable Product,点击Continue。

magento-create-configurable-product61

选择具有全局属性的cm_color,点击Continue。

magento-create-configurable-product71

添加Configurable Product的基本属性,Name,Description,Short Description,SKU,Status,Visibility,Price等基本属性,点击Save and Continue Edit。

切换到Associated products选项卡,重点在红线的部分Quick Simple Product Creation。

magento-create-configurable-product81

创建一个Color为Bule的产品,Color选择Bule,price选择10,Fixed是直接定价,Percentage是百分比,该价格都是在原价价格加价。Visibility最好选择不显示Not Visible Individually。

magento-create-configurable-product91

点击Quick Create,可在下方的Super Product Attribute Configuration看到自动创建的Simple Product,并自动绑定到Color的Bule选项。

magento-create-configurable-product101

同样创建Color为Red,和Yellow的产品。

magento-create-configurable-product111

magento-create-configurable-product121

magento-create-configurable-product131

此时创建好了3个Simple Product了,并都已经绑定相应的属性上。选择Save and Continue Edit。

如何给Magento网站上产品图片添加水印

今天有位朋友问我如何给magento网站上产品的图片自动添加水印,具体做法是:登陆后台,找到

System -> Configuration -> General -> Design -> Product Image Watermarks

20141110151611

 

Base Image Watermark Default Size 给基本图片添加水印的大小,如 200×200
Base Image Watermark Opacity, Percent 水印的透明度 可填写 1 到 100 (1表示最浅,几乎看不出水印;100表示最深,完全不透明)
Base Image Watermark 选择水印的图片
Base Image Watermark Position 基本图片的水印的位置,有6个可选

  • Stretch (拉伸,自动拉伸和图片一样宽)
  • Top/Left (水印在左上角)
  • Top/Right (水印在右上角)
  • Bottom/Left (水印在左下角)
  • Bottom/Right (水印在右下角)
  • Center  (水印在图片正中)
Small Image Watermark Default Size 设置小图片水印的大小  如 100×100
Small Image Watermark Opacity, Percent 设置小图片水印的透明度 (同上)
Small Image Watermark 选择小图片的水印图片
Small Image Watermark Position 小图片的水印位置 (同上)
Thumbnail Watermark Default Size 设置缩略图的水印尺寸
Thumbnail Watermark Opacity, Percent 缩略图的水印透明度
Thumbnail Watermark 选择缩略图的水印图片
Thumbnail Watermark Position 缩略图的水印位置

设置好后,刷新magento网站缓存,可以在前台查看效果。

如效果不理想,可以delete image清除水印重新设置。

插件实测—— ProductPageShipping Master 在产品页面计算运费插件

今天一位朋友加我QQ问怎么在Magento网站每一个产品页面都能计算运费,粗略看了一下,这类插件有几款,但是功能全部都是一样的。其中有一款免费的叫EcomDev_ProductPageShipping-master,这款插件作者已经两年没更新了,但是应该还能兼容比较新的magento版本 ,至少兼容到1.702是没有问题的。

首先,下载此款插件:

解压后将 app和 skin两个文件夹中的所有文件分别上传到magento网站根目录对应的文件夹中。

登陆 Magento网站后台,刷新后在 system – configuration – catalog 下找到 product page shipping 并点击

productpageshipping

在 product page shipping setting页面进行设置

productpageshipping2

Enable Product Page Shipping:选yes开启插件

Display In :选运费计算器在左边栏还是右边栏还是自定义位置(这个要根据模板的布局来决定 个人感觉大部分模板应该选择右边栏)

其余选项自由发挥,个人感觉国家和邮编两项开启即可 ;当然运费计算是否包含已经加入购物车中德产品 这个选项也要选yes; 保存。

重新刷新一下缓存,看看前台效果:

productpageshipping3

PS:安装这个插件的时候 有可能出现php解析错误如下

Parse error: syntax error, unexpected T_NAMESPACE, expecting T_STRING in app/code/community/EcomDev/ProductPageShipping/Model/Session.php on line 26

这是因为现在大部分服务器php版本都已经升级至5.3甚至更高,与session.php文件中的内容发生了冲突。解决方案很简单,将session.php文件中第26行和30行中的 NAMESPACE 更换为其他名称 例如 PRODUCTPAGESHIPPING_NAMESPACE 即可。

又PS:这款插件仅仅是一个运费计算前台化插件, 而不是一款运费插件。运费计算插件依旧推荐 webshopapps家的运费插件,好用强大。

再PS:长时间没有更新的插件总是有点担心和最新的magento程序不兼容,如果土豪不差钱,可以买一款功能完全一样的插件,兼容最新magento 1.9版 价格也不贵才15刀  地址是:

http://www.magentocommerce.com/magento-connect/shipping-quote-on-product-page.html

Magento网站在产品页面添加问答和咨询系统 Product Inquiry

今天一位朋友希望在Magento网站的产品页面添加 Ask A Question功能,可以让客户在产品页面提问咨询并回答客户提问;类似于京东上商品咨询的功能。

推荐一款Magento官方市场上的免费插件:Product Inquiry by imediadesigns

http://www.magentocommerce.com/magento-connect/product-inquiry-1.html

安装插件后,客户可以直接在产品页面提问咨询,站长可以在后台回复客户并决定这一问答是否出现在产品页面作为该产品的FAQ,同时,客户还会收到对问题回复的邮件。非常强大的一款问答插件。

案例可看:

www.b2cbuying.com

faq_area_1

Magento网站如何让客户提交更多注册信息—电话、地址、公司名称等

Magento网站客户注册的时候需要提交的信息极其简单,只需姓、名、电子邮箱、密码四项。这就造成两个问题:大量毫无价值的垃圾注册;对一些注册了但是没有下单的客户无法进行有效的二次推销。于是我们希望给 Magento网站的注册页面添加一些客户需要填写的信息,比如电话、地址、公司名等,以便更好地了解和分析客户。

Magento官方网站上的 Address Registration插件较好地解决了这一问题。具体方法是,登录 Magento网站后台,System -> Magento Connect -> Magento Connect Manager, 在 Install New Extensions处输入插件的Extension Key:http://connect20.magentocommerce.com/community/DS_RegAddress/  , 点击 Install(安装)。安装成功后,返回Magento后台,在System -> Configuration  左边栏目里找到 Registration Address并点击。

在Registration Address下有三个选项:

No :不开启插件

Optional Address(Default):开启地址、电话选项但是由客户决定填不填写

Forced Address:客户必须填写电话和地址,并选填公司名称

ds_regaddress_02_config_1

选择 Forced Address保存,刷新缓存,在前台注册页面可以看到注册信息多出 Address Information需要客户填写。

ds_regaddress_01_register_1

Magento网站用SMTP取代Sendmail发送邮件

Magento默认是用Sendmail发送邮件的,好处是非常方便,几乎不用做任何设置就可使用,不便之处在于:

1,收件邮箱会显示邮件是由xxx@xxx.xxx.com代发,如图

smtp-sender

john表示服务器的名称,host2ez.com是主机商域名,esitediy是账号名称,上面这段表示host2ez.com的代号为john的服务器上的esitediy用户发送。这样给收件人的感觉就是非常不专业,而且搞不好会被收件服务器当做垃圾邮件来处理。

2,Contact Us页面发送邮件不能给本域名发送,比如我设置发件邮箱为info@esitediy.com,收件邮箱就不能是xxx@esitediy.com , 邮件收不到。只能设置一个非本域名邮箱,比如hotmail、 gmail邮箱,给客户回复邮件就要到相应的邮箱去回复,很麻烦。

如果你可以忍受上面两点,那么就不用往下看了。

现在介绍一下通过 SMTP方式 而不是网站服务器自身邮局组件来发送邮件,在使用该方式前,请先确认你的邮箱供应商支持 POP/SMTP协议,一般绝大多数知名邮箱都是支持的,主要怕一些小的企业邮箱供应商不支持。腾讯企业邮箱 和 Google Apps的邮箱服务是肯定支持的,已经测试。

首先,下载一款 Magento插件,具体介绍可以查看 http://www.magentocommerce.com/magento-connect/smtp-pro-email-free-custom-smtp-email.html 

下载地址:https://github.com/aschroder/Magento-SMTP-Pro-Email-Extension

或直接本站下载:Magento-SMTP-Pro-Email-Extension-master

解压文件夹,将 app文件夹中的文件全部上传到网站对应的文件夹中

在网站后台刷新缓存,System -> Configuration -> ASCHRODER EXTENSIONS -> SMTP Pro

smtp-pro

如图依次选择或者填入 Custom SMTP  、 Login 、 你的企业(域名)邮箱、邮箱的密码 、 hwsmtp.exmail.qq.com (我用的是腾讯企业邮箱,你如果用其他企业邮箱请查看该邮箱的smtp说明)、 465 和SSL。点击右上角 Save Config保存。

Logging and Debugging 处,点击 Run Self Test按钮。测试成功会显示:

smtp

ok,再到Contact Us页面发送一封邮件试试。

smtp-pro-1

代发邮箱不见了,并且是sales@esitediy.com给Sales@esitediy.com发送成功了,测试成功。

好吧,其实这个原理类似于在你网站服务器上安装了一个微型客户端,你的邮件其实是由腾讯邮箱的服务器发送的,而不是你网站所在服务器。

6/9
1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
回到顶部