推荐一个不错的magento运输的费率矩阵表,支付多个运输商的运输费率

推荐一个不错的magento运输的费率矩阵表,支付多个运输商的运输费率的插件,免费的
WebShopApps MatrixRate – #1 Multiple Table Rates Extension CERTIFIED BUG FREE

他也是使用csv将各种不同的运输费率倒进magento系统中,和magento系统自带的table rates接近,
csv格式如下:

Country Region/State City Zip/Postal Code From Zip/Postal Code To Weight From Weight To Shipping Price Delivery Type
USA * *     0 0.5 10 EMS
USA * *     0.5 1 20 EMS
USA * *     1 2 30 EMS
USA * *     2 5 40 EMS
USA * *     5 10 50 EMS
USA * *     10 20 60 EMS
* * *     0 0.5 20 DHL
* * *     0.5 1 30 DHL
* * *     1 2 40 DHL
* * *     2 5 50 DHL
* * *     5 10 60 DHL
* * *     10 20 70 DHL
* * *     0 0.5 25 UPS
* * *     0.5 1 35 UPS
* * *     1 2 45 UPS
* * *     2 5 55 UPS
* * *     5 10 65 UPS
* * *     10 20 75 UPS

效果:

这样就可以解决一堆运输商的问题,当然,使用dhl,ups,fed官方的帐号接口,实现这些运输费用计算是最好的,但好像注册这些帐户不太容易!

利用.htaccess的设置来显示PHP错误的方法

用.htaccess设置显示PHP错误

使用.htaccess可以在某种程度上更改PHP的错误显示的设置,实际上,相当于更改PHP.ini的参数,很是方便。
将以下相应代码放到对应目录中的.htaccess文件,即可实现相应功能。
关闭错误显示
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_value docref_root 0
php_value docref_ext 0

只显示PHP错误

php_flag  display_errors        on
php_flag  display_startup_errors on
php_value error_reporting        2047

其中,“2047”为要显示的错误的级别,详细表格如下:

1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
4096 E_RECOVERABLE_ERROR 

把错误保存到日志文件中 ,可以这样设置:

# enable PHP error logging
php_flag  log_errors on
php_value error_log  /home/path/public_html/domain/PHP_errors.log

然后,可以设置不允许访问.log文件

# prevent access to PHP error log
<Files PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

设置错误日志的最大体积 ,以bytes为单位:

# general directive for
 setting max error size
log_errors_max_len integer

综合上述,.htaccess的PHP错误显示设置汇总

# PHP error handling for production servers

# disable display of startup errors
php_flag display_startup_errors off

# disable display of all other errors
php_flag display_errors off

# disable html markup of errors
php_flag html_errors off

# enable logging of errors
php_flag log_errors on

# disable ignoring of repeat errors
php_flag ignore_repeated_errors off

# disable ignoring of unique source errors
php_flag ignore_repeated_source off

# enable logging of php memory leaks
php_flag report_memleaks on

# preserve most recent error via php_errormsg
php_flag track_errors on

# disable formatting of error reference links
php_value docref_root 0

# disable formatting of error reference links
php_value docref_ext 0

# specify path to php error log
php_value error_log /home/path/public_html/domain/PHP_errors.log

# specify recording of all php errors
php_value error_reporting 999999999

# disable max error string length
php_value log_errors_max_len 0

# protect error log by preventing public access
<Files /home/path/public_html/domain/PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

以下则是适合开发者应用的设置:

# PHP error handling for
 development servers
php_flag display_startup_errors on
php_flag display_errors on
php_flag html_errors on
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/path/public_html/domain/PHP_errors.log
php_value error_reporting 999999999
php_value log_errors_max_len 0

<Files /home/path/public_html/domain/PHP_errors.log>
 Order allow,deny
 Deny from all
 Satisfy All
</Files>

总之,通过.htaccess设置显示PHP错误
来控制PHP错误是否显示似乎更方便。。

Magento页面空白,如何打开错误报告调试的方法

Magento页面一片空白 没显示什么东西,无法判断是否程序错误,所以要把错误显示打开使之能调试

解决:

1. 在网站根目录的.htaccess文件里加上

php_flag display_errors on
php_value error_reporting 2039
详情看另外一篇文章:(用.htaccess设置 PHP错误显示 )

2. 然后找到/errors/local.xml.sample这个文件,改成/errors/local.xml

3. 接着找到lib/Zend/Cache/Backend/File.php

查找 protected $_options = array( ’cache_dir’ => ‘null’,

替换成 protected $_options = array( ’cache_dir’ => ‘tmp/’,

4. 最后在/index.php文件里把error_reporting(E_ALL | E_STRICT) ;和ini_set('display_errors', 1) ;注释取消。可以再加上Mage::setIsDeveloperMode(true) ;这句配合第二点把magento的开发模式打开

这几步下来Magento的错误报告 就打开啦!

关于magento第三方加速Speed Booster的问题

magento第三方加速Speed Booster的,价值250美元,他可能会提供给你没有限制或序列号限制的代码。
他提供CMS Blocks和CMS Page两个缓冲。
通过试验,是能够提供block和page的缓冲,加速网站速度。
但是由于CMS Blocks的缓冲也带来问题。
如果所缓冲的CMS Blocks块,本身内容是根据数据变化,如,一个块,用于显示当前产品的相关商品。
这时他把第一次这个块显示的内容缓冲下来,接下来都显示这个内容。
于是就失去了这种数据变化类型CMS Blocks的原先的意见。
其它的magento的缓冲基本上都是这付德性!
很无语!

关于magento的Blocks HTML output缓冲带来的页面判断问题

将magento的Blocks HTML output缓冲开启,会带来页页的判断问题,如:
'cms_index_index'==$this->getRequest()->getRequestedRouteName().'_'.$this->getRequest()->getRequestedControllerName().'_'.$this->getRequest()->getRequestedActionName()
这个是判断首页的handle是cms_index_index,如果不开启Blocks HTML output缓冲,这行代码在phtml可以得到执行。
但如果开启Blocks HTML output缓冲,那这个判断将失效,将是第一次运行此phtml时的环境,以后都将这样。
从这个结果判断出。magento的Blocks HTML output缓冲,是将phtml代码的运行缓冲起来。
有好也有坏。

关于magento在迁移后出现异常的处理

magento在迁移后,可能会出现异常,常见的故障,是前台或后台空白,或显示不完整,
常见的处理方法是删var/cache及var/session下的缓冲,一般会得到解决。
但一些更难缠的意外,上述动作做完后,打开缓冲或编绎后,故障依旧。
经过几天的实验和判断。我把解决说明如下:
最可能的问题,是数据库有问题,如果你原先代码运行正常的话。
1、这时你将备份的数据库倒入数据中,然后用标准原始的magento,在要迁移的数据库上进行安装。
2、安装后,到后台进行缓冲及产品索引,以及编译,正常后,关掉。
3、然后将标准原始的magento删除,换上再将要迁移的代码。重新运行。
4、基本上这样后,数据库得到规范和清理,基本上可以
我试了很长时间,在不明原因的情况下,这种处理方法最有效!