最近在用ECshop系统搞一个商城玩,结果测试过程中发现一个严重的问题,ECshop2.73的邮件模板,无法使用HTML格式,哪怕你选择了HTML格式,选择了保存之后还是显示文本模式,并且实际上就是纯文本格式发送出去的。
问题在论坛上找了一下,结果发现一年前都有人提出这个BUG,结果现在还是没修复,难道ECshop真是没人要的娃了?
下面说一些我的解决办法:
进入PHPMYADMIN,找到mail_templates表,在里面把所有邮件模板的is_html tinyint(1) unsigned 的值 设为1,保存。
至于模板,HTML功底好些的可以把编辑好的模板粘贴在下面,保存就可以了,HTML功底不好的,可以先在ECshop后台编辑好保存为HTML格式,然后再来修改数据库。
切忌,编辑好了之后不要再去ECSHOP后台改动模板,一改就都没了。。。。
真是个蛋疼的事情啊!!!
打开includes/cls_template.php,
找到
$source = preg_replace(‘//i’, “ “, $source);
将它注释,就可以去掉就可以了。
今天修改网站的时候突然提出这个需求,老实孩子相信很多使用ECSHOP的朋友都想要这个功能,网上也有很多类似的修改教程。
下面说一下我找到的一个方法,也比较简单,已在ECSHOP2.7.2版测试通过。
打开 /includes/modules/integrates/integrate.php 文件。
找到
if ($this->check_user($username, $password) > 0)
在它上面添加下面代码段
if(is_email($username))
{
$sql = “select “.$this->field_name.” from “.$this->table($this->user_table).” where “.$this->field_email.”='”.$username.”‘”;
$username = $this->db->getOne($sql);
if(!$username) return false;
}
是不是挺简单的。
其他版本的ECSHOP,我没有亲自测试,相信也可以用此方法来解决。
修改文件:includes/lib_common.php
修改目的:【将“0元”商品显示为“价格面议”】
修改方法:
return sprintf($GLOBALS['_CFG']['currency_format'], $price);
替换为:
if (intval($price) == 0) { return "价格面议";} else { return sprintf($GLOBALS['_CFG']['currency_format'], $price); }
Ecshop 从2.7.1版本可以更改管理员路径admin了,但是官方并没有在后台做任何接口- -!到现在的2.7.2依然没有做接口。所以很多人可能都不知道要在哪里怎么去修改管理路径admin,今天刚好改了一下我的后台,下面分享一下:
修改步骤:
1.修改admin文件夹名称
2.然后在data/config.php
修改define(‘ADMIN_PATH’,’admin’);
两个要保持一致。
例如:
把admin文件更改成 admin123
然后把define(‘ADMIN_PATH’,’admin123′);
再保存就可以了
3.修改robots文件,在根目录下robots.txt里面修改“Disallow: /admin/”为“Disallow: /修改后的后台目录/”
第三步,很多人并不在意,这样做的目的是屏蔽搜索引擎对指定目录的抓取,这样做有利于提升网站的安全性。
修改ECshop缩略图的质量,ECshop默认生成jpg缩略图或商品图的质量是75。很多用户在使用的过程中发现,ECshop自动生成的缩略图很模糊,琢磨了许多办法效果都不怎么好,也尝试过放大图片,但是这样会影响页面的布局,下面我们就看看如何用代码角度解决提高ECshop缩略图的清晰度质量。
找到includes/cls_image.php,在大约250行左右
/* 生成文件 */
if (function_exists(‘imagejpeg’))
{
$filename .= ‘.jpg’;
imagejpeg($img_thumb, $dir . $filename);
}
改为
/* 生成文件 */
if (function_exists(‘imagejpeg’))
{
$filename .= ‘.jpg’;
imagejpeg($img_thumb, $dir . $filename, 90);
}
修改完毕之后,登陆后台:“商品管理”→“图片批量处理”→重新生成缩略图即可。
这样应该足够清晰了,这里允许0-100的范围,不写默认是75的质量。
下面简单给大家介绍一下如何在ECshop列表显示已销售多少件商品
1.在根目录下找 category.php , 查找
$arr[$row[‘goods_id’]][‘url’]
在底下添加以下代码:
/*** 已出售多少件 , 直接使用smarty 的insert 调用该方法 , 使用在goods_lbi文件中 ***/
function insert_selectNum($arr){
$goods_id = $arr[“goods_id”];
$sql = ‘select IFNULL(SUM(g.goods_number),0)’ .
‘FROM’ . $GLOBALS[‘ecs’]->table(‘order_info’).’AS o,’ .
$GLOBALS[‘ecs’]->table(‘order_goods’) . ‘ AS g ‘ .
“where o.order_id = g.order_id and g.goods_id = ‘$goods_id'” . $ext;
$sales_count_num = $GLOBALS[‘db’]->getOne($sql);
//echo $sql.”==== 测试是否有数据输入”;
return $sales_count_num;
}
修改前先备份原文档
2.在themes\default\library 目录下找 goods_list.lbi 查找