ecshop常见修改

来源:互联网 发布:php完整项目源码 编辑:程序博客网 时间:2024/05/18 01:13

1. ECSHOP修改商品列表改为当前的分类名称

在goods_list.lbi修改商品列表改为当前的分类名称。“<span>{$lang.goods_list}</span><aname='goods_list'></a>”把里面的{$lang.goods_list}修改为{$cat_info.cat_name},这样利于SEO


2. ecshop后台地址修改方法

ecshop2.7后台修改方法:

修改两个文件(下面默认admin为后台地址)1.admin/includes/init.php; 
if(!defined('ADMIN_PATH'))
{
   define('ADMIN_PATH','admin');
}
修改为:
if(!defined('ADMIN_PATH'))
{
   define('ADMIN_PATH','您要修改的名称');
}

2.data/config.php

define('ADMIN_PATH','admin');

修改为:

define('ADMIN_PATH',' 您要修改的名称 ');


3. 解决ecshop产品图片模糊的方法:
  打开goods.dwt  搜索   <img src="{$goods.goods_img}   改成  <img src="{$goods.original_img}


4.ecshop首页轮播图/焦点图控制

如果你要修改这个首页焦点图的样式或者显示方式,你可以自己用JS写一个播放器,而不一定需要用这个播放器.

具体的操作步骤是

1:你必须在index.php里面。写一个解析该广告信息的xml文件,对应的文件是$str =@file_get_contents("data/flash_data.xml");我们必须将他解析成三个数组.

$ar_flash[$i]['url'] = $url[1][$i];
$ar_flash[$i]['text'] = $text[1][$i];
$ar_flash[$i]['link'] = $link[1][$i];

然后赋值给ecshop模板.

通过以上操作,就完成了ecshop首页轮播图/焦点图控制.


5. 删除RSS文件(feed.php)里的Ecshop版权信息

RSS 文件 (feed.php 或 feed.xml)里面也包含一些ECSHOP官方预留的版权信息,
主要有下面几处:
<!--   RSSgenerated by ECSHOP (http://www.ecshop.com)[2010-09-2815:25:47]   -->

<generator>http://www.ecshop.com</generator>

下面我就把删除这些版权信息的教程公布在这里:
打开 /includes/cls_rss.php 文件
找到'<!-- RSS generated by ECSHOP (http://www.ecshop.com) ['.  date('Y-m-d H:i:s') .']  -->' . "\n" .把它删除(注意:别删多了)
继续搜索找到$this->output .= (string)'<generator>' .$this->creator .'</generator>' . "\n";同样也删除

然后,刷新一个 FEED.PHP ,看是不是没有了


6. ecshop产品相关的图片有那几种
回答:$goods_img 

      = ''; // 初始化商品图片
   $goods_thumb     = ''; // 初始化商品缩略图
   $original_img    = ''; // 初始化原始图片
   $old_original_img = ''; // 初始化原始图片旧图


7. 如何手动设置ecshop缓存时间
回答:includes/cls_templates.php里面设置 

 var $cache_lifetime = 3600; // 缓存更新时间, 默认 3600 秒的值得


8. 如何优化ecshop手机号码格式验证
回答:使用该方法
var reg=/^[1]([3][0-9]{1}|50|53|59|58|56|86|80|89|87|88|85|86|55|51|52|57)[0-9]{8}$/;
reg.test(mobile_phone)


9. ecshop在模板里调用广告位的代码

在后台添加广告位置,然后在该广告位置下添加广告(注意:每个广告位置下加一个广告),记住该广告位置的ID,然后在模板中加入下面代码即可
{insert name=‘ads‘ id=2 num=1}
ID:广告位置ID
num:显示数量


10. ecshop首页站内快讯怎样调用指定分类的文章

要求:
在ECSHOP商城首页的“站内快讯”里只显示某个特定分类下的文章,
例如只显示 类别ID为 5

的文章。

修改方法:

打开index.php文件(如果你的是UTF-8编码,尽量不要使用记事本),
找到 index_get_new_articles() 函数部分



' WHERE a.is_open = 1 AND a.cat_id =ac.cat_id AND ac.cat_type = 1' .
修改为

' WHERE a.is_open = 1 AND a.cat_id=5 ANDa.cat_id = ac.cat_id AND ac.cat_type = 1' .


11. ecshop显示所有分类

otegory.php 里找到  get_categories_tree($cat_id)) 改成 get_categories_tree(0))
                 goods.php 里找到 get_categories_tree($goods['cat_id'])) 改成 get_categories_tree(0))
这样无论在哪一级目录都会完整显示所有分类


12.ECSHOP模板中广告位的随机图片顺序问题

提供两种修改方法:
方法1:使用多个广告位,每个广告位只添加一个广告图片
方法2:修改对应的ECSHOP程序文件
修改 includes/lib_insert.php 文件
将ORDER BY rnd 修改为ORDER BY ad_id

Ecshop订单号生成规则

负责订单编号生成规则的函数是 /includes/lib_order.php 文件中的 get_order_sn() 函数。

原来的程序代码为:
return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
原来的订单号形式为:年月日 + 5位随机数字,例如:2010101718830

如果您想改变订单号的生成规则,就可以对上述代码做出修改。
例如,我想让订单号变为 “SD” + 年月日 + 7位随机数字,那么可以这样修改


return date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
修改为
return 'SD'.date('Ymd') . str_pad(mt_rand(1, 9999999), 7, '0', STR_PAD_LEFT);

上面只是举一个例子,当然你还可以修改成更有个性的订单编号。


商品详情页的显示当前登录会员的价格

问题描述:

会员登录状态下,在ECSHOP商品详情页的本店售价中显示当前登录会员对应的价格,
在未登录状态下,则还默认显示原来的本店售价。

解决方法:

这个需要修改ECSHOP程序代码来实现。

其实也非常简单,只需要修改一行代码即可。

打开文件 /includes/lib_goods.php

$row['shop_price_formated'] = price_format($row['shop_price']);

修改为

$row['shop_price_formated'] = $_SESSION[user_rank] ?  price_format($row['rank_price']) : price_format($row['shop_price']);

ecshop模板
就可以了,简单吧。
修改完后,记得清除缓存,然后找个会员登录试下就知道了。


ECSHOP商品批量修改限制50的解决办法

admin/includes/lib_main.php

搜索'LIMIT 50'; 把这里的数字改为你想要的数字即可。