您的位置:首页 > 运维架构

ecshop 二次开发 全集

2013-12-26 14:37 323 查看
原文地址:二次开发 全集">ecshop 二次开发 全集作者:phper老腰添加商品属性;
ecshop二次开发,增加商品属性的方法,添加商品属性的方法

默认分类 2009-09-04 23:22
阅读740 评论1 字号: 大大
中中 小小
本文来自:http://p2pq.cn/thread-1063-1-1.html

ecsho增加商品属性,ecsho添加商品属性,ecshop二次开发
这里只讲添加一种属性的方法,添加多个自己设置下.以添加"颜色"属性为例
测试版本 ECShop_V2.7.0_UTF8_Release0720.zip

演示截图

后台

前台

步骤如下:

运行mysql命令,修改数据库表!alter table `ecs_goods` add `goods_color`
char(15) NOT NULL default '';
复制代码查到lang geszh_cncommon.php $_LANG['goods_brand'] =
'商品品牌:';
复制代码其下增加$_LANG['goods_color'] = '颜色:';
复制代码这个是前台商品信息里显示的属性名称
-----------------------------------
查到lang geszh_cnadmingoods.php  查找$_LANG['lab_goods_brand']
= '商品品牌:';
复制代码其下增加$_LANG['lab_goods_color'] = '颜色:';
复制代码这个是后台添加商品时显示的商品属性名称
------------------------------------
查到admingoods.php 从  开始 查找warn_number
在字段处插入goods_color,  在值处插入$_POST[goods_color], 包括逗号
如warn_number, goods_color,
'$warn_number',$_POST[goods_color],

这里$_POST[goods_color] 表示提交上来的name值为goods_color的值

------------------------------这里加的是前台
查到

themesmpc_purplegoods.dwt mpc_purple这个是我的模板的名字,你的名字改你自己的
里的 <!-- 显示商品品牌
-->

<span
class="font-weight">{$lang.goods_brand}</span><a
href="{$goods.goods_brand_url}"
>{$goods.goods_brand}</a><br
/>

<!--{/if}-->
复制代码下面加<!-- 测试添加开始 -->

<!-- {if $goods.goods_color neq "" }
-->

<span
class="font-weight">{$lang.goods_color}</span>{$goods.goods_color}<br
/>

<!-- {/if} -->

<!-- 测试添加结束 -->
复制代码------------------这里加的是后台
查到admintemplatesgoods_info.htm 这是后台添加商品的模板
{html_options options=$lang.font_styles
selected=$goods_name_style}

</select>

{$lang.require_field}</td>

</tr>
复制代码在其下加 

<!-- 加数据开始 -->

<tr>

<td
class="label"><?php echo
$this->_var['lang']['lab_goods_color'];
?> </td>

<td><input
type="text" name="goods_color" val="<?php echo
htmlspecialchars($this->_var['goods']['goods_color']);
?>"

size="20" />

<span
id="goods_sn_notice"></span><br
/> </td>
复制代码</tr><!--
加数据结束 -->

本文来自:http://p2pq.cn/thread-1063-1-1.html

======================================================================

======================================================================
ecshop后台去除版本更新提示2009-12-15
17:05打开,admin/templates/start.htm
删除以下代码

{if
$need_check_version}

<script
type="text/javascript"
src="http://api.ecshop.com/checkver.php?ver={$ecs_version}&lang={$ecs_lang}&release={$ecs_release}&php_ver={$sys_info.php_ver}&mysql_ver={$sys_info.mysql_ver}&ocount={$order.stats.oCount}&oamount={$order.stats.oAmount}&gcount={$goods.total}&charset={$ecs_charset}"></script>

{/if}

==============================================================================================================================================

ECshop文件结构说明

技术资料 2009-11-09 09:42
阅读33 评论0 字号: 大大
中中 小小 ECShop 2.5.1
的结构图及各文件相应功能介绍

ECShop2.5.1_Beta upload 的目录
┣ activity.php 活动列表
┣ affiche.php 广告处理文件
┣ affiliate.php 生成商品列表
┣ article.php 文章内容
┣ article_cat.php文章分类
┣ a tion.php 拍卖前台文件
┣ brand.php 品牌列表
┣ captcha.php 生成验证码
┣ catalog.php 列出所以分类及品牌
┣ category.php 商品分类
┣ comment.php 提交用户评论
┣ compare.php 商品比较程序
┣ cycle_image.php 轮播图片程序
┣ feed.php RSS Feed 生成程序
┣ flow.php 购物流程
┣ gallery.php 商品相册
┣ goods.php 商品详情
┣ goods_script.php 生成商品列表
┣ group_buy.php 团购商品前台文件
┣ index.php 首页文件
┣ myship.php 支付配送DEMO
┣ pick_out.php 选购中心
┣ receive.php 处理收回确认的页面
┣ region.php 地区切换程序
┣ respond.php 支付响应页面
┣ robots.txt
┣ search.php 搜索程序
┣ sitemaps.php google sitemap 文件
┣ snatch.php 夺宝奇兵前台页面
┣ tag_clo .php 标签云
┣ topic.php 专题前台
┣ user.php 会员中心
┣ vote.php 调查程序
┣ wholesale.php 批发前台文件
┣ admin文件夹
┃ ┣ account_log.php 管理中心帐户变动记录
┃ ┣ admin_logs.php 记录管理员操作日志
┃ ┣ ads.php 广告管理程序
┃ ┣ adsense.php 站外JS投放的统计程序
┃ ┣ ad_position.php广告位置管理程序
┃ ┣ affiliate.php 程序说明
┃ ┣ affiliate_ck.php 程序说明
┃ ┣ agency.php 管理中心办事处管理
┃ ┣ area_manage.php 地区列表管理文件
┃ ┣ article.php 管理中心文章处理程序文件
┃ ┣ articlecat.php 文章分类管理程序
┃ ┣ article_auto.php
┃ ┣ attention_list.php
┃ ┣ attribute.php 属性规格管理
┃ ┣ a tion.php 管理中心拍卖活动管理
┃ ┣ bonus.php 红包类型的处理
┃ ┣ brand.php管理中心品牌管理
┃ ┣ captcha_manage.php
┃ ┣ card.php 贺卡管理程序
┃ ┣ category.php 商品分类管理程序
┃ ┣ check_file_priv.php 系统文件检测
┃ ┣ comment_manage.php 用户评论管理程序
┃ ┣ convert.php 转换程序
┃ ┣ cron.php 计划任务
┃ ┣ database.php 数据库管理
┃ ┣ ebao_commend.php 易宝推荐
┃ ┣ edit_lang ges.php 管理中心语言项编辑(前台语言项)
┃ ┣ email_list.php 邮件列表管理
┃ ┣ favourable.php 管理中心优惠活动管理

┃ ┣ flashplay.php
┃ ┣ flow_stats.php 综合流量统计
┃ ┣ friend_link.php 友情链接管理
┃ ┣ gen_goods_script.php 生成显示商品的js代码
┃ ┣ get_password.php 找回管理员密码
┃ ┣ goods.php 商品管理程序
┃ ┣ goods_auto.php
┃ ┣ goods_batch.php 商品批量上传、修改
┃ ┣ goods_booking.php 缺货处理管理程序
┃ ┣ goods_export.php
┃ ┣ goods_type.php 商品类型管理程序
┃ ┣ group_buy.php 管理中心团购商品管理
┃ ┣ gst_stats.php 客户统计
┃ ┣ index.php 控制台首页
┃ ┣ integrate.php 第三方程序会员数据整合插件管理程序
┃ ┣ magazine_list.php
┃ ┣ mail_template.php 管理中心模版管理程序
┃ ┣ message.php 管理中心管理员留言程序
┃ ┣ navigator.php

┃ ┣ order.php 订单管理
┃ ┣ order_stats.php 订单统计
┃ ┣ pack.php 包装管理程序
┃ ┣ payment.php 支付方式管理程序
┃ ┣ picture_batch.php 图片批量处理程序
┃ ┣ privilege.php 管理员信息以及权限管理程序
┃ ┣ sale_general.php 销售概况
┃ ┣ sale_list.php 销售明细列表程序
┃ ┣ sale_order.php 商品销售排行
┃ ┣ searchengine_stats.php 搜索引擎关键字统计
┃ ┣ search_log.php
┃ ┣ shipping.php 配送方式管理程序
┃ ┣ shipping_area.php 配送区域管理程序
┃ ┣ shophelp.php 帮助信息管理程序
┃ ┣ shopinfo.php 网店信息管理页面
┃ ┣ shop_config.php 管理中心商店设置
┃ ┣ sitemap.php 站点地图生成程序
┃ ┣ sms.php 短信模块 之 控制器
┃ ┣ snatch.php 夺宝奇兵管理程序
┃ ┣ sql.php sql管理程序
┃ ┣ tag_manage.php 后台标签管理
┃ ┣ template.php 管理中心模版管理程序
┃ ┣ topic.php 专题管理
┃ ┣ users.php 会员管理程序
┃ ┣ users_order.php 会员排行统计程序
┃ ┣ user_account.php 会员帐目管理(包括预付款,余额)
┃ ┣ user_msg.php 客户留言
┃ ┣ user_rank.php 会员等级管理程序
┃ ┣ view_sendlist.php
┃ ┣ virt l_card.php 虚拟卡商品管理程序
┃ ┣ visit_sold.php 访问购买比例
┃ ┣ vote.php 调查管理程序
┃ ┣ wholesale.php 管理中心批发管理
┃ ┣ help 的目录 后台操作帮助文件
┃ ┣ images 的目录
┃ ┣ incl es 的目录
┃ ┃ ┣ cls_exchange.php 后台自动操作数据库的类文件
┃ ┃ ┣ cls_google_sitemap.php Google sitemap 类
┃ ┃ ┣ cls_phpzip.php ZIP 处理类
┃ ┃ ┣ cls_sql_dump.php 数据库导出类
┃ ┃ ┣ inc_menu.php 管理中心菜单数组
&
#160; ┃ ┃ ┣ init.php 管理中心公用文件
┃ ┃ ┣ lib_goods.php 管理中心商品相关函数
┃ ┃ ┣ lib_main.php 管理中心公用函数库
┃ ┃ ┗ lib_template.php 管理中心模版相关公用函数库
┃ ┣ styles 的目录
┃ ┣ templates 的目录
┃ ┗ js 的目录
┃ ┣ colorselector.js
┃ ┣ common.js
┃ ┣ listtable.js
┃ ┣ md5.js
┃ ┣ selectzone.js
┃ ┣ tab.js
┃ ┣ todolist.js
┃ ┣ topbar.js
┃ ┗ validator.js 表单验证类
┣ api 的目录
┃ ┣ checkorder.php 检查订单 API
┃ ┣ cron.php
┃ ┗ init.php API 公用初始化文件
┣ cert 的目录
┣ data 的目录
┃ ┣ ffiliate.html
┃ ┣ goods_script.html
┃ ┣ order_print.html
┃ ┣ afficheimg 的目录
┃ ┣ brandlogo 的目录
┃ ┣ captcha 的目录 验证码背景图片存放位置
┃ ┣ cardimg 的目录
┃ ┣ feedbackimg 的目录
┃ ┣ images 的目录
┃ ┣ packimg 的目录
┃ ┗ sqldata 的目录
┣ images 的目录
┃ ┗ upload 的目录
┃ ┣ File 文件上传存放处
┃ ┣ Flash flash上传存放处
┃ ┣ Image 图片上传存放处
┃ ┗ Media 视频上传存放处
┣ incl es 的目录
┃ ┣ cls_captcha.php 验证码图片类
┃ ┣ cls_ecshop.php 基础类
┃ ┣ cls_error.php 用户级错误处理类
┃ ┣ cls_iconv.php 字符集转换类
┃ ┣ cls_image.php 后台对上传文件的处理类(实现图片上传,图片缩小, 增加水印)
┃ ┣ cls_json.php JSON 类
┃ ┣ cls_mysql.php MYSQL 公用类库
┃ ┣ cls_rss.php RSS 类
┃ ┣ cls_session.php SESSION 公用类库
┃ ┣ cls_sms.php 短信模块 之 模型(类库)
┃ ┣ cls_smtp.php SMTP 邮件类
┃ ┣ cls_sql_executor.php SQL语句执行类。
┃ ┣ cls_template.php 模版类
┃ ┣ cls_transport.php 服务器之间数据传输器
┃ ┣ inc_constant.php 常量
┃ ┣ init.php 前台公用文件
┃ ┣ lib.debug.php
┃ ┣ lib_article.php 文章及文章分类相关函数库
┃ ┣ lib_clips.php ECSHOP 用户相关函数库
┃ ┣ lib_code.php 加密解密类
┃ ┣ lib_common.php 公用函数库
&#
160; ┃ ┣ lib_goods.php 商品相关函数库
┃ ┣ lib_insert.php 动态内容函数库
┃ ┣ lib_main.php 前台公用函数库
┃ ┣ lib_order.php 购物流程函数库
┃ ┣ lib_passport.php 用户帐号相关函数库
┃ ┣ lib_payment.php 支付接口函数库
┃ ┣ lib_time.php 时间函数
┃ ┣ lib_transaction.php ECSHOP 用户交易相关函数库
┃ ┣ codetable 的目录
┃ ┃ ┣ big5-gb.table
┃ ┃ ┣ big5_utf8.php
┃ ┃ ┣ gb-big5.table
┃ ┃ ┣ gb_utf8.php
┃ ┃ ┗ ipdata.dat
┃ ┣ fckeditor 的目录 fckeditor编辑器目录
┃ ┗ modules 的目录
┃ ┣ convert 的目录
┃ ┃ ┣ shopex46.php vshopex4.6转换程序插件
┃ ┃ ┗ shopex47.php shopex4.7转换程序插件
┃ ┣ cron 的目录
┃ ┃ ┣ auto_manage.php 自动上下架管理
┃ ┃ ┗ ipdel.php 定期删除
┃ ┣ integrates 的目录
┃ ┃ ┣ bmforum.php 会员数据处理类
┃ ┃ ┣ discuz.php
┃ ┃ ┣ discuz55.php
┃ ┃ ┣ dvbbs.php
┃ ┃ ┣ ecshop.php
┃ ┃ ┣ integrate.php
┃ ┃ ┣ ipb.php
┃ ┃ ┣ molyx.php
┃ ┃ ┣ phpbb.php
┃ ┃ ┣ phpwind.php
┃ ┃ ┣ phpwind5.php
┃ ┃ ┗ vbb.php
┃ ┣ payment 的目录
┃ ┃ ┣ alipay.php 支付宝插件
┃ ┃ ┣ balance.php 余额支付插件
┃ ┃ ┣ bank.php 银行汇款(转帐)插件
┃ ┃ ┣ cappay.php 首信易支付插件
┃ ┃ ┣ chinabank.php 网银在线插件
┃ ┃ ┣ cncard.php 云网支付插件
┃ ┃ ┣ cod.php 货到付款插件
┃ ┃ ┣ ctopay.php Ctopay 支付插件
┃ ┃ ┣ express.php express支付系统插件
┃ ┃ ┣ ips.php ips支付系统插件
┃ ┃ ┣ k iqian.php 快钱插件
┃ ┃ ┣ nps.php NPS支付插件
┃ ┃ ┣ pay800.php 800pay 支付宝插件
┃&
#160; ┃ ┣ paypal.php 贝宝插件
┃ ┃ ┣ paypalcn.php 贝宝中国插件
┃ ┃ ┣ post.php 邮局汇款插件
┃ ┃ ┣ tenpay.php 财付通插件
┃ ┃ ┣ pay.php 网汇通插件
┃ ┃ ┣ xpay.php 易付通插件
┃ ┃ ┗ yeepay.php YeePay易宝插件
┃ ┗ shipping 的目录
┃ ┣ cac.php 上门取货插件
┃ ┣ city_express.php 城际快递插件
┃ ┣ ems.php EMS插件
┃ ┣ flat.php 邮政包裹插件
┃ ┣ fpd.php 到付运费插件
┃ ┣ post_express.php 邮政包裹插件
┃ ┣ post_mail.php 邮局平邮插件
┃ ┣ presswork.php 挂号印刷品插件
┃ ┣ sf_express.php 顺丰速运 配送方式插件
┃ ┣ sto_express.php 申通快递 配送方式插件
┃ ┣ yto.php 圆通速递插件
┃ ┗ zto.php 中通速递插件
┣ install 的目录 安装文件目录
┣ js 的目录
┃ ┣ auto_complete.js
┃ ┣ calendar.php
┃ ┣ common.js
┃ ┣ compare.js
┃ ┣ global.js
┃ ┣ lefttime.js
┃ ┣ myship.js
┃ ┣ region.js
┃ ┣ shopping_flow.js
┃ ┣ transport.js
┃ ┣ user.js
┃ ┣ utils.js
┃ ┗ calendar 的目录
┣ lang ges 的目录 语言风格文件
┃ ┣ zh_cn 的目录
┃ ┃ ┣
┃ ┃ ┣ admin 的目录
┃ ┃ ┣ convert 的目录
┃ ┃ ┣ cron 的目录
┃ ┃ ┣ payment 的目录
┃ ┃ ┗ shipping 的目录
┃ ┗ zh_tw 的目录
┃ ┣ admin 的目录
┃ ┣ convert 的目录
┃ ┣ cron 的目录
┃ ┣ payment 的目录
┃ ┗ shipping 的目录
┣ plugins 的目录
┣ templates 的目录
┃ ┣ backup 的目录
┃ ┃ ┗ ibrary 的目录
┃ ┣ caches 的目录
┃ ┗ compiled 的目录

/> ┃ ┗ admin 的目录

┣ themes 的目录
┃ ┣ default 的目录
┃ ┃ ┣ images 的目录
┃ ┃ ┗ library 的目录
┃ ┗ sport 的目录
┣ wap 的目录
┃ ┣ article.php
┃ ┣ brands.php
┃ ┣ buy.php
┃ ┣ category.php
┃ ┣ comment.php
┃ ┣ goods.php
┃ ┣ goods_list.php
┃ ┣ index.php
┃ ┣ user.php
┃ ┣ incl es 的目录
┃ ┃ ┣ init.php
┃ ┃ ┣ lib_main.php
┃ ┗ templates 的目录
┃ ┣ article.wml
┃ ┣ article_list.wml
┃ ┣ brands.wml
┃ ┣ buy.wml
┃ ┣ category.wml
┃ ┣ comment.wml
┃ ┣ goods.wml
┃ ┣ goods_img.wml
┃ ┣ goods_list.wml
┃ ┣ index.wml
┃ ┣ login.wml
┃ ┣ order_list.wml
┃ ┗ user.wml
┗ widget 的目录
┣ blog_sohu.php
┣ blog_sohu.xhtml
┗ images 的目录
=======================================
========================================

ECSHOP修改后台admin目录为任意目录名(版本v2.6.2)
2009-08-31 12:08
1.修改data/config.php
$admin_dir = "admin";
修改成
$admin_dir = "新目录名";

2.修改admin/index.php
//货号

require_once(ROOT_PATH .
'admin/incl es/lib_goods.php');
修改成
require_once(ROOT_PATH . $admin_dir.'/incl
es/lib_goods.php');

3.修改admin/database.php
require_once(ROOT_PATH . 'admin/incl
es/cls_sql_dump.php');
修改成
require_once(ROOT_PATH . $admin_dir.'/incl
es/cls_sql_dump.php');

4.修改admin/get_password.php
$reset_email = $ecs->url() .
'admin/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;
修改成
$reset_email = $ecs->url() .
$admin_dir.'/get_password.php?act=reset_pwd&uid='.$admin_id.'&code='.$code;

5.修改admin/goods.php
require_once(ROOT_PATH . '/admin/incl
es/lib_goods.php');
修改成
require_once(ROOT_PATH . $admin_dir.'/incl
es/lib_goods.php');

6.修改admin/check_file_priv.php
$dir[]

=
'admin';
修改成
$dir[]

= $admin_dir;

7.修改admin/incl es/init.php
if (file_exists(ROOT_PATH .
'data/config.php'))
{
incl
e(ROOT_PATH . 'data/config.php');
}
else
{
incl
e(ROOT_PATH . 'incl es/config.php');
}
修改成下面代码,并将代码移至“”注释之前。
if (file_exists('../data/config.php'))
{
incl
e('../data/config.php');
}
else
{
incl
e('../incl es/config.php');
}
下一步
define('ROOT_PATH', str_replace('admin/incl es/init.php', '',
str_replace('\', '/', __FILE__)));
修改成
define('ROOT_PATH', str_replace($admin_dir.'/incl
es/init.php', '', str_replace('\', '/', __FILE__)));
下一步
require(ROOT_PATH . 'admin/incl
es/lib_main.php');
修改成
require(ROOT_PATH . $admin_dir.'/incl es/lib_main.php');
下一步
require(ROOT_PATH . 'admin/incl
es/cls_exchange.php');
修改成
require(ROOT_PATH . $admin_dir.'/incl
es/cls_exchange.php');
下一步
$smarty->template_dir = ROOT_PATH .
'admin/templates';
修改成
$smarty->template_dir = ROOT_PATH .
$admin_dir.'/templates';
下一步
$admin_path = preg_replace('/:d+/', '',
$ecs->url()) . 'admin';
修改成
$admin_path = preg_replace('/:d+/', '',
$ecs->url()) . $admin_dir;

8.修改incl e/lib_main.php
incl e_once(ROOT_PATH . 'admin/incl
es/lib_template.php');
修改成
global $admin_dir;
incl e_once(ROOT_PATH . $admin_dir.'/incl
es/lib_template.php');

9.修改incl e/cls_ecshop.php
$curr = strpos(PHP_SELF, 'admin/') !== false
?
preg_replace('/(.*)(admin)(/?)(.)*/i', '1',
dirname(PHP_SELF)) :
dirname(PHP_SELF);
修改成
global $admin_dir;
$curr = strpos(PHP_SELF, $admin_dir.'/') !== false
?
preg_replace('/(.*)('.$admin_dir.')(/?)(.)*/i', '1',
dirname(PHP_SELF)) :
dirname(PHP_SELF);

10.修改/admin/picture_batch.php

incl e_once(ROOT_PATH . '/admin/incl
es/lib_goods.php');
修改成
incl e_once(ROOT_PATH .$admin_dir.'/incl
es/lib_goods.php');

11.修改quotation.php
incl e_once(ROOT_PATH . 'admin/incl
es/lib_main.php');
修改成
global $admin_dir;
incl e_once(ROOT_PATH . $admin_dir.'/incl
es/lib_main.php');

12.如果担心$admin_dir变量注入安全问题可以在data/config.php文件中define('EC_CHARSET','utf-8');后增加
define('ADMIN_DIR','新目录名');
然后将所有修改的$admin_dir变量修改成ADMIN_DIR,例如:
require_once(ROOT_PATH . $admin_dir.'/incl
es/lib_goods.php');
修改成
require_once(ROOT_PATH . ADMIN_DIR.'/incl
es/lib_goods.php');

==============================================================================================================================================
ECSHOP模板添加库栏目完成2009-08-01
18:03ECSHOP的库项目终于添加完成了,真是累人啊。眼睛都疼了,不过效果还是令人满意的。特别感谢EC论坛上无私奉献。完成后的商品排序本身就是随机的,真是爽。

添加后显示的位置:后台——模板管理——设置模板

1、修改模板中的一些BUG

file:/incl es/lib_goods.php
function:get_category_recommend_goods($type = '', $cats = '',
$brand = 0, $min =0, $max = 0, $ext='')
函数中的原内容:

$sql .= " AND ( " . $cats . " OR " .
get_extension_goods($cats) .")";
改为:

$sql .= " AND (g.cat_id = " . $cats . " OR g.cat_id = " .
get_extension_goods($cats) .")";

2、添加显示数量,一定要添加,否则不会显示商品。以“index.php”为例,其它页面都在根目录中的PHP文件里类似修改。

$smarty->assign('mylibrary',
get_category_recommend_goods('mylibrary','4'));
//我的库项目名称
3、最后便是为模板添加库项目。根目录:adminincl eslib_template.php

模板库文件声明和定义->adminincl
eslib_template.php,每个模板允许设置的库项目
操作:参考修改
数组:page_libs
变量:index

原内容:

'/library/member.lbi' => 0,
'/library/new_articles.lbi' => 0,
'/library/recommend_guide.lbi' => 0,
'/library/top10.lbi' => 0,
'/library/invoice_qry.lbi' => 0,
'/library/recommend_best.lbi' => 3,
'/library/recommend_new.lbi' => 3,
'/library/recommend_hot.lbi' => 3,
'/library/recommend_promotion.lbi' => 3,
'/library/group_buy.lbi' => 3,
'/library/a tion.lbi' => 3,
'/library/brands.lbi' => 0,
'/library/cart.lbi' => 0,
'/library/vote_list.lbi' => 0
修改后内容:

'/library/member.lbi' => 0,
'/library/new_articles.lbi' => 0,
'/library/recommend_guide.lbi' => 0,
'/library/mylibrary.lbi' => 3,
'/library/recommend_best.lbi' => 3,
'/library/recommend_new.lbi' => 3,
'/library/recommend_hot.lbi' => 3,
'/library/recommend_promotion.lbi' => 3,
'/library/group_buy.lbi' => 3,
'/library/a tion.lbi' => 3

4、添加一个mylibrary.lbi库文件,文件路径为:themesblskylibrarymylibrary.lbi
5、给mylibrary.lbi添加后台名称,也就是修改语言包
文件lang geszh_cnadmintemplate.php

line:93 操作:参考添加
$_LANG['template_libs']['mylibrary'] = '我的库项目';
文件lang geszh_cncommon.php
line:325 操作:添加
$_LANG['mylibrary'] = '我的库项目';
文件lang gesen_usadmintemplate.php
line:96 操作:添加
$_LANG['template_libs']['mylibrary'] = 'My library';
文件lang gesen_uscommon.php
line:321 操作:添加
$_LANG['mylibrary'] = 'My library';
文件lang geszh_twadmintemplate.php
line:93 操作:添加
$_LANG['template_libs']['mylibrary'] = '我的库项目';//繁体
文件lang geszh_twcommon.php
line:325 操作:添加

6、添加mylibrary.lbi的CSS,文件:themesblskycsscomponent.css,内容自定
7、添加mylibrary.lbi内容,内容自定
8、修改incl es/lib_goods.php ,跟商品设置的数目有关

function:get_category_recommend_goods($type = '', $cats = '',
$brand = 0, $min =0, $max = 0, $ext='')
line:250
原内容:

$type2lib = array('best'=>'recommend_best',
'new'=>'recommend_new',
'hot'=>'recommend_hot',
'promote'=>'recommend_promotion');
?修改后内容:

$type2lib = array('best'=>'recommend_best',
'new'=>'recommend_new',
'hot'=>'recommend_hot',
'promote'=>'recommend_promotion','mylibrary'=>'mylibrary');
9、后台“设置模板”中修改位置,前台显示效果可以通过测试,暂时没有出现出错

==============================================================================================================================================

下面这段代码在js/common.js中
作用是以String.fromCharCode函数显示ecshop的版权信息,在页面加载的时候执行。函数写的很巧妙,值得借鉴。(很像某些网马)

onload = function()
{
var
link_arr =
document.getElementsByTagName_r(String.fromCharCode(65));
var
link_str;
var
link_text;
var
regg, cc;
var
rmd, rmd_s, rmd_e, link_eorr = 0;
var e =
new Array(97, 98, 99,

100, 101,
102, 103, 104, 105, 106, 107, 108, 109,

110, 111,
112, 113, 114, 115, 116, 117, 118, 119,

120, 121,
122

);

try
{
for(var
i = 0; i < link_arr.length; i++)

{

link_str = link_arr[i].href;

if (link_str.indexOf(String.fromCharCode(e[22],
119, 119, 46, e[4], 99, e[18], e[7], e[14],

e[15], 46, 99, 111, e[12]))
!= -1)

{

if ((link_text =
link_arr[i].innerText) == undefined)

{

throw "noIE";

}

regg = new
RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46,
42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));

if ((cc =
regg.exec(link_text)) != null)

{

if
(link_arr[i].offsetHeight == 0)

{

break;

}

link_eorr =
1;

break;

}

}

else

{

link_eorr = link_eorr ? 0 :
link_eorr;

contin;

}
}
} // IE
catch(exc)
{
for(var
i = 0; i < link_arr.length; i++)
{

link_str = link_arr[i].href;

if (link_str.indexOf(String.fromCharCode(e[22],
119, 119, 46, e[4], 99, 115, 104, e[14],

e[15], 46,
99, 111, e[12])) != -1)

{

link_text =
link_arr[i].textContent;

regg = new
RegExp(String.fromCharCode(80, 111, 119, 101, 114, 101, 100, 46,
42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));

if ((cc =
regg.exec(link_text)) != null)

{

if
(link_arr[i].offsetHeight == 0)

{

break;

}

link_eorr =
1;

break;

}

}

else

{

link_eorr = link_eorr ? 0 :
link_eorr;

contin;

}
}
} // FF

try
{
rmd =
Math.random();
rmd_s =
Math.floor(rmd * 10);
if
(link_eorr != 1)
{

rmd_e = i - rmd_s;

link_arr[rmd_e].href = String.fromCharCode(104,
116, 116, 112, 58, 47, 47, 119, 119,
119,46,

101, 99, 115, 104, 111, 112, 46, 99, 111,
109);

link_arr[rmd_e].innerHTML =
String.fromCharCode(

80, 111,
119, 101, 114, 101, 100,38, 110, 98, 115, 112, 59,
98,

121,38,
110, 98, 115, 112, 59,60, 115, 116, 114, 111, 110,
103,

62, 60,115,
112, 97, 110, 32, 115, 116, 121,108,101, 61, 34, 99,

111, 108,
111, 114, 58, 32, 35, 51, 51, 54, 54, 70, 70, 34, 62,

69, 67, 83,
104, 111, 112, 60, 47, 115, 112, 97, 110, 62,60, 47,

115, 116,
114, 111, 110, 103, 62);
}
}
catch(ex)
{
}
}

此时alert可以看出其中奥妙

alert(String.fromCharCode(80, 111, 119, 101, 114, 101, 100,
46, 42, 98, 121, 46, 42, 69, 67, 83, e[7], e[14], e[15]));

版权代码二:

lang ges/zh_cn/common.php
关键字
$_LANG['p_y']

$_LANG['p_y']['link_start'] = '<a
href="http://www.ecshop.com" target="_blank" style="
font-family:Verdana; font-size:11px;">';
$_LANG['p_y']['link_p'] = 'Powe';
$_LANG['p_y']['link_r'] = 'red ';
$_LANG['p_y']['link_b'] = 'by ';
$_LANG['p_y']['main_start'] =
'<strong><span
style="color: #3366FF">';
$_LANG['p_y']['main_e'] = 'E';
$_LANG['p_y']['main_c'] = 'CSho';
$_LANG['p_y']['main_p'] =
'p</span> ';
$_LANG['p_y']['v_s'] = '<span style="color:
#FF9966">';
$_LANG['p_y']['v'] = VERSION;
$_LANG['p_y']['link_end'] =
'</span></strong></a> ';

将版权信息分解,以防别人用搜索字符串方式定位文件。

版权代码三:

在此处我不确定是否达到他们的功能,即调用JavaScript指定页面,将一些网店信息发送给api.eshcop.com/record.php?

(很像某些网马)

文件:admin/shop_config.php

代码:

$spt =
'<script type="text/javascript"
src="http://api.ecshop.com/record.php?';
$spt .=
"url=" .urlencode($ecs->url());
$spt .=
"&shop_name=" .urlencode($_CFG['shop_name']);
$spt .=
"&shop_title=".urlencode($_CFG['shop_title']);
$spt .=
"&shop_desc=" .urlencode($_CFG['shop_desc']);
$spt .=
"&shop_keywords="
.urlencode($_CFG['shop_keywords']);
$spt .=
"&country=".urlencode($shop_country)."&province=".urlencode($shop_province)."&city=".urlencode($shop_city);
$spt .=
"&address="
.urlencode($_CFG['shop_address']);
$spt .=
"&qq=$_CFG[qq]&ww=$_CFG[ww]&ym=$_CFG[ym]&msn=$_CFG[msn]";
$spt .=
"&email=$_CFG[service_email]&phone=$_CFG[service_phone]&icp=".urlencode($_CFG['icp_number']);
$spt .=
"&version=".VERSION."&lang
ge=$_CFG[lang]&php_ver=" .PHP_VERSION.
"&mysql_ver=" .$db->version();
$spt .=
"&charset=".EC_CHARSET;
$spt .=
'"></script>';
//此处向ecshop api发送网店信息,在下面 mail_setting中有如下调用 $_LANG['save_s
cess'].$spt 由嵌入JavaScript来调用

if
($type == 'mail_setting')
{

$links[] = array('text'
=> $_LANG['back_mail_settings'], 'href'
=> 'shop_config.php?act=mail_settings');

sys_msg($_LANG['mail_save_s
cess'], 0, $links);
}

else
{

$links[] = array('text'
=> $_LANG['back_shop_config'], 'href'
=> 'shop_config.php?act=list_edit');

sys_msg($_LANG['save_s cess'],
0, $links);
}

ecshop中多处用 http://api.ecshop.com/record.php?mod=login&url={$shop_url}发送信息,有兴趣的同志可以搜一下看看,在此不多叙述。
以上是我看ecshop代码过程中发现的一些技巧,仅用于技术交流,请不要用于非法版权,谢谢。

==============================================================================================================================================

ecshop数据库表结构2009-05-23 22:53ecs_account_log // 用户账目日志表
ecs_activity // 活动表(代码,名称,开始,结束,描述)
ecs_ad // 广告表(位置,类型,名称,链接,图片,开始,结束,广告主相关信息,点击,
是否显示)
ecs_admin_action // 管理权限分配(父类ID,权限代码)
ecs_admin_log // 管理日志(登陆时间,登陆管理员ID,操作描述,IP)
ecs_admin_message // 管理员留言(发送者ID,接收者ID,发送日期,阅读日期,是否
已读,是否删除,标题,内容)
ecs_admin_user // 管理员管理(用户名,email ,密码,加入时间,最后登陆时间,最后
登陆IP,权限等)
ecs_adsense // 广告相关统计(来源广告,来源位置,点击)
ecs_ad_position // 广告位(名称,宽,高,描述,样式)
ecs_area_region // 配送区域关联(配送区域ID,具体地址ID)
ecs_article // 文章(分类ID,标题,内容,作者,作者email ,关键字,类型,是否显示,
添加时间,文件地址,打开类型)
ecs_article_cat // 文章分类(名称,类型,关键字,描述,排序,是否导航显示)
ecs_attribute // 商品属性(分类,名称,选择样式,类型,值,检索类型,排序,是否关
联)
ecs_bonus_type // 红包(名称,金额,发放起始日期,发放结束日期,使用起始日期,使
用结束日期,发放类型,金额下限(按订单发放),金额上限)
ecs_booking_goods // 缺货登记(登记用户ID,email ,电话,商品ID,描述,数量,登
记时间,是否已处理,处理管理员,处理时间,处理备注)
ecs_brand // 品牌(名称,logo,描述,链接,排序,是否显示)
ecs_card // 祝福贺卡(名称,图片,费用,免费额度,描述)
ecs_cart // 购物车(用户ID,session_id ,商品ID,商品编号,商品名称,市场价,购买
价,数量,属性,是否真实商品,扩展代码,父类ID,类型,是否赠品,能否处理)
ecs_category // 商品分类(名称,关键字,描述,父类ID,排序,是否有子类,模板文件,
数量单位,是否导航显示)
ecs_collect_goods // 收藏(用户ID,商品ID,收藏时间)
ecs_comment // 评论(类型,类型ID,email ,用户名,内容,评星,添加时间,IP,状
态,父类ID)
ecs_feedback // 用户留言(父类ID,用户ID,用户名,email,标题,类型,内容,时间,
图片,是否回复)
ecs_friend_link // 友情链接(名称,链接,logo,排序)
ecs_gift // 赠品(送赠品活动ID,商品ID,赠品价格)
ecs_gift_type // 送赠品活动(名称,发送类型,相关参数,数量,开始,结束)
ecs_goods // 商品(分类ID,名称,点击,品牌ID,供应商名称,库存,重量,市场价,
售价,fitting_price(未知),促销价,促销开始日期,结束日期,警告数量,关键字,简介,
描述,缩略图,图,原图,是否真实商品,扩展代码,是否上架,是否单独销售,是否关联,
配件关联,是否赠品,能否成为赠品,单位,添加时间,排序,是否回收,精品,新品,推
荐,热销,红包ID,更新日期,商品类型,商品备注,首页轮播)
ecs_goods_article // 商品文章关联(gid,aid )
ecs_goods_attr // 商品属性(商品ID,属性ID,属性值,属性附加价)
ecs_goods_cat // 未知
ecs_gallery // 商品相册(商品ID,图片,描述,缩略图,原图)
ecs_goods_type // 商品类型(名称,状态)
ecs_group_buy // 团购(商品ID,结束日期,价格阶梯,限购数量,描述,订购量,订单,
赠送积分数,流程,押金,是否完成)
ecs_group_goods // 配件(父类ID,商品ID,配件价格)
ecs_link_goods // 商品关联(商品ID,关联ID,单双向)
ecs_mail_templates // 邮件样式(代码,是否html,名称,样式,最后修改日期)
ecs_member_price // 会员价(商品ID,会员等级,会员价)
ecs_order_action // 订单处理(订单ID,处理用户,订单状态,配送状态,支付状态,处
理时间,备注)
ecs_order_goods // 订单-商品(订单ID,商品ID,商品名称,商品编号,商品数量,市
场价,订单价,商品属性,配送数量,是否真实商品,扩展代码,父类ID,是否赠品)
ecs_order_info // 订单信息(好多(-_-|||略...)
ecs_pack // 包装(名称,图片,费用,免费额,描述)
ecs_payment // 支付工具(代码,名称,费用,描述,排序,配置,状态,is_cod(未知))
ecs_pay_log // 支付记录(略)
ecs_plugins // 插件(代码,版本,库,签名,安装日期)
ecs_region // 地方数据(没什么好说的)
ecs_sessions // 保存session 的(也没什么好说的(嗯?为什么要加个“也”呢))
ecs_shipping // 配送(代码,名称,描述,保价费,support_cod(未知),状态)
ecs_shipping_area // 配送区域(序列配置)
ecs_shop_config // 设置(父类ID,代码,类型,范围,文件夹,值)
ecs_snatch // 夺宝奇兵(活动ID,商品ID,最小价,最大价,定价,积分消耗)
ecs_snatch_log // 夺宝奇兵出价记录(还是没什么好说的)
ecs_stats // 访问记录(时间,IP,访问次数,浏览器,系统,语言,地区,来源域名,来
源地址,关键字,进入链接)
ecs_tag // 用户标签(不说)
ecs_template // 模板区域(文件名,区域,模板库,排序,id,数量,类型,模板)也不
怎么清楚
ecs_users // 会员(一些会员信息)
ecs_user_account // 会员帐户(用户ID,管理员,总额,添加时间,支付时间,管理备注,
用户备注,处理类型,支付工具,是否支付)
ecs_user_address // 用户收货地址(略)
ecs_user_bonus // 用户红包(红包ID,红包编号,用户ID,使用时间,订单ID,是否已
发邮件)
ecs_user_rank // 会员等级(名称,积分最小限额,最大限额,折扣,是否显示价格,特
殊会员)
ecs_virt l_cart // 虚拟卡(商品ID,卡号,密码,添加时间,失效时间,是否已卖完,
编号,crc32 校验码)
ecs_vote // 投票(名称,开始,结束,能否多选,统计)
ecs_vote_log // 投票记录(投票ID,IP,时间)
ecs_vote_option //
投票内容(投票ID,条目名称,条目统计)

图片宽:154*205

==========================================================================================================================================================================================================================================================================================================================

ECSHOP修改100条2009-11-24
10:241:如何修改网站"欢迎光临本店"
回答:lang
geszh_cncommon.php文件中, $_LANG['welcome'] =
'欢迎光临本店';将他修改成你需要的字样。

2:如何修改首页"热门搜索关键字"

回答:后台->系统设置->网店设置->显示设置->首页搜索关键字,修改他的内容,然后保存

3:如何修改首页标题 "Powered by ECShop"

回答:incl
es/lib_main.php,找到$page_title = $GLOBALS['_CFG']['shop_title'] . '
- ' . 'Powered by ECShop';修改成$page_title =
$GLOBALS['_CFG']['shop_title']就可以了。

4:如何去除cshop底部查询信息的显示

回答:library/page_footer.lbi中,删除
{insert name='qry_info'}

 5:如何发布首页公告

回答:后台->系统设置->商店设置->网店信息->商店公告.填写你需要的公告就可以了.

6:如何发布站内新闻

 回答:参考http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0615/42.html

7:如何修改网站logo

回答:用你的logo图片替换/themes/default/images/logo.gif中图片就可以了

8:如何修改产品图片的大小

回答:在ecshop/themes/default/style.css中,找到.goodsItem
.goodsimg{width:100px; height:100px; border:4px solid #eef8ff;
margin-bottom:4px;}就可以控制产品图片的大小.

9:如何管理首页flash播放器

回答:后台 ->
flash播放器管理 ->
增加自定义,你就可以上传和控制图片的位置

10:如何修改首页"精品推荐"栏目的more小图片

 回答:模板文件中library/recommend_best.lbi中,<div
class="more"><a
href="../search.php?intro=best"><img
src="images/more.gif"
/></a></div>
中more.gif图片换成你要的图片,或者将图片换成你需要的文字.

11:如何修改首页"新品上市"栏目的more小图片

回答:模板文件library/recommend_new.lbi中,<div
class="more"><a
href="../search.php?intro=new"><img
src="images/more.gif"
/></a></div>
more.gif修改成你需要的图片或者是换成你需要的文字.

12:如何手动修改支付方式排列顺序

回答:数据库表中,找到payment表,pay_order字段就是用来控制顺序的,你如果想让A支付方式排在第一,那么你需要修改该字段的值稍微大一些。

图片1

13:如何去除ecshop产品详细页产品电击率

 回答:模板文件中,打开goods.dwt,删除<strong>{$lang.goods_click_count}:</strong>{$goods.click_count}

14:首页模板在哪个文件,头部模板,底部模板个什么文件名称

回答:首页模板在为index.dwt,
头部模板在library/page_header.lbi,底部文件在library/page_footer.lbi

15:网站关闭了注册,如何修改“该网店暂停注册”字样

回答:lang
geszh_cncommon.php 中$_LANG['shop_register_closed'] =
'该网店暂停注册';修改该文字就可以了

16:收货人详细信息js弹出框的提示脚本在哪个文件

回答:lang
geszh_cnshopping_flow.php [比如
$_LANG['flow_js']['country_not_null'] = '请您选择收货人所在国家!';]

17:网站公告代码段在那里

回答:
index.php文件中, $smarty->assign('shop_notice',
$_CFG['shop_notice']);
//
商店公告代码段控制公告

18:网站首页"精品推荐"显示数量在那里设置

 回答:请参考http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0613/39.html文章里面第三点

19:网站首页"新品上市"显示数量在那里设置

 回答:参照http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0613/39.html里面第二点

20:如何修改产品的库存

回答:商品管理 ->
商品列表 -> 选中(库存),编辑就可以了.

21:如何修改ecshop表的前缀

回答:修改data/config.php下的$prefix
=
"ecs_";将ecs_修改成你需要的前缀.其次,在数据库中,修改表名比如ecs_goods修改为"xxx_goods";

22:如何去除首页flash下面的空白区域

回答:参照http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0616/46.html

23:如何修改ecshop导航栏目名称

回答:后台 -> 系统设置
-> 自定义导航栏 -> 编辑 ->
修改导航栏名称

24:如何将最新产品栏目显示在导航栏里面?

 回答:后台 -> 系统设置 -> 自定义导航栏
-> 增加自定义导航,在链接的栏目中输入"search.php?intro=new"

25:如何更换ecshop模板

回答:比如新模板“test”,你将放在themes目录下,形成的路径为themes/test,然后在后台
-> 模板管理 -> 模板选择 ,起用你新加的模板就OK了。

26:ecshop产品相关的图片有那几种

回答:$goods_img

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

27:ecshop首页如何设置“新品”,“精品”,“热卖”商品

回答:参照http://www.chinab4c.com/html/shangchengchengxu/ecshopchangjianwenti/2009/0706/82.html

28:如何修改“支付方式”显示顺序

回答:打开ecs_payment表,如果你想让他显示在前面,你将设置pay_order值小一些,比如想让“支付宝”排第一,“快钱”排第二,你就可以设置支付宝pay_order=1,快钱pay_order=2

29:详细页面的积分

 回答:详细页面的积分在模板<strong>
{$lang.goods_give_integral}</strong><font
class="f4">{$goods.give_integral}
{$points_name}</font>中来控制的

30:如何修改产品缩略图大小

回答:后台 ->
系统设置 -> 网店设置 -> 显示设置
-> 缩略图宽度.,当然你也可以设置缩略图高度

31:如何设置ecshop货币格式和日期格式。

回答:后台 ->
系统设置 -> 网店设置 -> 显示设置
-> 货币格式(¥%s元)或者时间格式(Y-m-d H:i:s)

32:如何开取和关闭ecshop登陆验证码

回答:后台
-> 系统设置 -> 验证码管理
,在这里你可以操作各种验证码,开启和关闭

33:如何修改个人帐户信息里面,出生年月的范围

{html_select_date
field_order=YMD prefix=birthday start_year=-60 end_year=+1
display_days=tr month_format=%m day_val_format=d
time=$profile.birthday}

start_year=-60意思是从今天开始,推前面60年。
end_year+=1就是今年开始,往后推一年。就是表示这个范围。如果你需要更大的范围,将他们修改的更大一些。比如
start_year=-100,end_year+=100。这样范围够大了把。呵呵

34:ecshop中的模板中如何包含模板

回答:查看incl
es/cls_template.php中,发现php中的incl e方式在smarty中依然有用. {incl e
file='library/dd.lbi'}所以,你用incl e方式,就可以在ecshop中的lbi中包含lbi

35:如何调整ecshop
flash播放器播放速度

回答://
0xffffff:文字颜色|1:文字位置|0x0066ff:文字背景颜色|60:文字背景透明度|0xffffff:按键文字颜
色|0x0066ff:按键默认颜色|0x000033:按键当前颜色|8:自动播放时间(秒)|2:图片过渡效果|1:是否显示按钮|_blank:打
开窗口
var swf_config = "|2|||0xFFFFFF|0xFF6600||2|3|1|_blank"

以上表明,后面的2是控制速度的,如果你感觉他快了。你就把2修改成比2大的数。这样ecshop flash播放器速度就会慢些

36:ecshop2.7.0首页轮换图片如何管理

回答:后台
-> 系统设置 -> 首页主广告管理
->
系统默认,自定义。。。在这里。你可以进行首页flash图片管理

37.ecshop订单中,哪个字段是控制折扣的

回答:order_info表格中,discount字段控制折扣。

38:如何显示销售排行:

回答:显示销售排行,首先你需要有交易的定单,而且该定单已经交易完成,并且该定单中的产品库存不为零.如果库存为零,还是不能显示.

39:Notice: Undefined variable: _LANG in
D:cmsnewincl esinit.php on line 179错误如何解决
回答:认真检查语言包require(ROOT_PATH . 'lang ges/' . $_CFG['lang'] .
'/common.php');文件是否存在,或者遗漏

40:ecshop flash播放器文件和图片在哪个文件夹里面

 回答:flash播放器程序在dataflashdata,图片在dataafficheimg里面

50:如果不小心把ecshop 的install.lock文件删除了怎么办

 回答:很简单.在data 目录下,建立一个名字为install.lock的文件就好了。甚至内容都不需要.

51:如何设置快递单的打印模板

回答:系统设置 ->
配送方式 -> 编辑打印模板

52:ecshop如何删除“注册用户”,“VIP用户”价格

回答:会员管理 ->
会员等级 -> 删除或者不显示对应会员等级的价格

53:如何调整分类列表也分页显示产品的个数。

回答:后台 -> 系统设置
-> 商店设置 -> 显示设置 ->
商品分类页列表的数量

54:用户中心,产品推荐,分成细节文字在那里修改:

回答:lang geszh_cnuser.php 文件中的
$_LANG['affiliate_intro'][0] 内容,进行修改  

55:购物车中的文字信息如何修改“您的购物车中有 0 件商品,总计金额 ¥0.00元”

回答:lang geszh_cncommon.php 文件中,修改$_LANG['cart_info'] =
'您的购物车中有 %d 件商品,总计金额 %s。';文字修改成你需要的文字
56:如何控制ecshop文件的编码。

回答:header("Content-type: text/html;
charset=UTF-8");

57:如何修改调整ecshop用户中心左侧栏目

回答:模板文件library/user_menu.lbi中。修改和去除一些栏目,就可以了

ecshop2.7,现在用加密方法,很难去掉。
一定要去的话,可以在淘宝上找专业人士帮忙去。不过好像是收费的。

以前的版本只要在下面操作就行了。
1. 删除顶部标题栏"Powered by Ecshop"信息:
使用文本编辑器(推荐UltraEdit)打开 ecshop根目录/incl es/lib_main.php,
找到如下代码:

$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' .
'Powered by ECShop';
$ur_here =
'<a href="." mce_href=".">' .
$GLOBALS['_LANG']['home'] .
'</a>';

将蓝色部分删除或修改为自己的网站信息.

2. 修改底部"Powered by Ecshop 2.x.x"

使用文本编辑器打开文件: ecshop根目录/themes/当前模板名/library/page_footer.lbi,
找到如下代码:

{insert name='qry_info'}<br
/>
<a href="http://www.ecshop.com" target="_blank"
style="font-size:10px">Powered
by

<strong><span
style="color:
#3366FF">ECShop</span>
<span style="color:
#FF9966">{$ecs_version}

</span></strong></a><br
/>

将蓝色部分删除或修改加粗部分为自己网站信息.

58:如何设置网站首页最新新闻的数量

回答:后台 ->
系统设置 -> 网店设置 -> 显示设置
-> 最新文章显示数量

59:ecshop smarty模板中and 语法如何使用

回答:{if $smarty.foreach.table_name.iteration > 1
and ($smarty.foreach.table_name.iteration-1) % 4 eq 0}

60:ecshop积分商城的产品放在哪个表里面?

回答:ecs_exchange_goods里面存储了积分商城的产品信息

61:ecshop后台如何设置产品价格格式

回答:后台->系统设置->网店设置->显示设置->商品价格显示规则

62:如何删除ecshop底部查询

回答:模板文件中library/page_footer.lbi中,删除{insert
name='qry_info'}

63:如何给网站底部增加第三方统计代码

回答:后台->系统设置->基本设置->统计代码。点保存

64:页面标题和中间导航,程序在那里?

回答:incl es/lib_main.php中的assign_ur_here()函数中

65:如何手动调节一个ecshop会员的等级

回答:后台->会员管理->会员列表->选中某个会员
-> 查看帐目明细 -> 调节会员帐户 ->
等级积分帐户(增加或者减少)相对应的分,调节到需要调节的会员等级的积分。就能达到手动调节会员等级的效果

66:如何改变ecshop首页flash显示的大小

回答:模板文件中,index.dwt.

<script
type="text/javascript">
var swf_width=534;
var swf_height=218;
</script>

修改他的值就可以了

67:如何修改网站关闭后的提示信息?

回答:lang geszh_cncommon.php
中,把这句中文,修改成你要的文字$_LANG['shop_closed'] = '本店盘点中,请您稍后再来...';
68:js如何取select的值

回答:var t =
document.getElementByIdx_x("typeController");
alert(t.options[t.selectedIndex].val);

69:让ecshop属性下拉格式显示

回答:后台-系统设置-商店设置-商品显示设置
第六行 商品属性显示样式:
单选按钮 下拉列表

70:如何控制评论的审核状态

回答:后台->系统设置->商店设置->基本设置->用户评论是否需要审核

71:ecshop中奇兵夺宝的时间和信息在哪个表

回答:ecs_snatch_log里面装着出价的时间和价格。还有用户ID,出价时间是bid_time

71:ecshop模板如何控制字符长度

回答:{$article.short_title|truncate:10:"...":tr}这样就可以截取字符串长度了

好忙啊。。。。。待叙。。。。争取早日完成100条。。。

72:如何编辑“ecshop用户协议”

回答:后台->文章管理->文章列表->编辑“用户协议”那篇文章。

73:如何修改后台操作栏目条

回答:lang geszh_cnadmincommon.php中修改

74:如何在ecshop自定义导航栏增加ecshop积分商城

回答:exchange.php增加进去,就可以了。

75:ecshop数据库备份的文件放在哪个目录

回答:datasqldata目录下面

76L如何加强ecshop搜索

回答:

word_list = explode(' ',
$keyword);
foreach ($word_list as $word)
{
$conditions .= " AND (g.goods_name LIKE '%" . trim($word) .
"%')";
}

根据ecmall论坛上朋友的思路,可以更加方便搜索.

77:如何增加在ecshop中增加和"中国"同一级别的地区地址。

回答:insert into ecs_region
vals('','0','美国','0','0');在根据该region_id.插入不同级别地区。

78:如何修改ur_here.lbi中的信息

回答:incl es/lib_main.php函数中,修改assign_ur_here()函数

79:如何修复mysql的myd文件。

回答:执行REPAIR TABLE 命令

80:如何控制ECSHOP商品浏览历史数量

回答:系统设置->商店设置->显示设置->浏览历史数量设置

81:如何删除用户评论

答案是:进入themesdefaultlibrarycomments_list.lbi
把这个页面的整个源码注释掉,在开头加上 <!-- 在最后尾部加上
-->

82、在首面的最上面的logo边添加banner 的方法

修改模板文件里的page_header.lbi文件,在里面添加相关的代码文件即可,如下演示:

<p id="logo"><a
href="../index.php"><img
src="../images/logo.gif" alt="logo"
/></a>  <img
src="../images/banner.gif" alt="banner广告"
/></p>

红色的地方就是添加的banner图片代码。至于大小,大家根据情况自己再调整下吧。

83、如何在文件里加入JS代码,如果按一般平常添加方法,会出错,解决的方法:

把script套在{literal}{/literal}之间试试看,例如:

{literal}
<script
type="text/javascript">
....
</script>
{/literal}

==========================================================================================================================================================================================================================================================================================================================

ecshop首页调用最新评论
已有 94 次阅读 2009-08-16 20:42
标签: ecshop
首页 评论
转载:

昨天自己到百度搜了一些关于smart的一些文章,还有一个smart开发文章,现在分享给大家,并且就首页显示评论的功能教大家怎么去做,怎么个思维。

在这之前,请大家看看这篇文章 http://linux.chinaitlab.com/PHP/38324.html
smart手册我附件里下载

现在开始教大家这个功能的实现过程

首先大家要明白ecshop的目录结构

incl es 【程序库文件,直观理解就是首页的php文件是直接调用功能函数的,而这些函数都在incl
es下集中保存了,方便调用】
themes 【模板目录】

功能要在 index.php 页面实现 html布局要写在 index.dwt 模板文件里

记住一个重要的思想:“index.php里我们把要显示的内容都保存到一个变量,,在到index.dwt显示出这个变量”

理论上,我们在index.php加入php代码就可以了,但是为了程序结构清晰,我们把稍微复杂的程序写到incl
es函数库中。

下面我们怎么做呢,我们目前要考虑的是,把要调用的内容存在变量里,内容在哪呢,mysql数据库,对。

我选择了修改 lib_goods.php 这个库函数文件,主要参考了
调用最新商品的函数也在这里,所以就选择了这个文件,具体incl es下的文件结构,我还不懂。

在任意位置,当然不要加到其他函数里面去了,添加如下代码:

【代码我也不太会写,主要参考了admin目录下的,comment_manage.php】

ps://后面的注释可以都删掉,我只是想给大家说明白为什么这样写

function get_comment_index()
//函数名 index.php我们要调用的
{
$sql = “SELECT * FROM ”
.$GLOBALS['ecs']->table(’comment’). ” WHERE
parent_id = 0 and status = 1 ORDER BY comment_id DESC LIMIT 5 “;
// 查询数据库,parent_id 0是用户的评论,屏蔽掉了管理员的回复;status
是允许显示的评论,limit 5 限制只显示5条,大家可以随意改
$result = $GLOBALS['db']->getAll($sql);
//
执行这个查询
$comment = array();

//建立一个数组
foreach ($result AS $idx => $row)

//建立循环,循环所有查询的条数
{

$comment[$idx]['id']
=
$row['comment_id'];

// 评论id
,,一般用不上,但这里调用了备用

$comment[$idx]['name']
=
$row['user_name'];

// 评论人

$comment[$idx]['content']
= $row['content'];

//评论内容

$comment[$idx]['rank']
=
$row['comment_rank'];

//评论分数

$comment[$idx]['time']
=
local_date($GLOBALS['_CFG']['time_format'], $row['add_time']);
//评论时间
[这个我没测试,结果不一定对]

if ($row['comment_type'] == 0)
//comment_type
区别了是文章调用,还是商品调用
{

$sql = “SELECT goods_name FROM ”
.$GLOBALS['ecs']->table(’goods’). ” WHERE goods_id =
‘$row[id_val]‘”; //查询商品表,id_val
是评论表里的数据,指定了评论对象的id

$comment[$idx]['title'] =
$GLOBALS['db']->getOne($sql);
//取得评论对象

$img= “SELECT goods_imgs FROM ”
.$GLOBALS['ecs']->table(’goods’). ” WHERE goods_id =
‘$row[id_val]‘”; //查询商品表,id_val
是评论表里的数据,指定了评论对象的id

$comment[$idx]['img'] =
$GLOBALS['db']->getOne($img);
//取得评论对象的图片

$comment[$idx]['url'] =
“goods.php?id=$row[id_val]“; //取得评论对象的url
}
else
{

$sql = “SELECT title FROM ”
.$GLOBALS['ecs']->table(’article’). ” WHERE
article_id=’$row[id_val]‘”; //查询文章表 id_val
共用的

$comment[$idx]['title'] =
$GLOBALS['db']->getOne($sql);
//取得评论对象

$comment[$idx]['url'] =
“article.php?id=$row[id_val]“;
//取得评论对象的url
}
}
return $comment;
}
复制代码

index.php :

88 行下面加上

$smarty->assign(’comment’, get_comment_index());
//
评论列表
复制代码

大概理解为,get_comment_index() 函数取得的内容,送到comment 变量,在模板中调用

index.dwt:
大家自己分析吧,,能看懂这篇文章的,模板部分肯定没问题。回应功能还没做,日后需要加上。

<!————————–评论调用 START
———————–>
<!–{foreach from=$comment
item=comment}–>
<UL
class=”tlst”>
<LI
class=”ilst” style=”CLEAR: both”><A
title=國產凌凌漆

href=”http://www.do?n.com/s
ject/1307739/”><IMG class=fil
alt=國產凌凌漆

src=”images/s2865043.jpg”></A>
</LI>
<LI
class=”clst”><SPAN class=”pl ll
obss”><SPAN
class=starb><A

href=”http://url”>{$comment.name}</A>
评论: <A

href=”{$comment.url}”>{$comment.title}</A>
</SPAN><SPAN

class=”stars{$comment.rank}
stars”></SPAN></SPAN><BR><BR>
<DIV
class=”pl”>{$comment.content|truncate:90:”…”}<A
class=pl
href=”http://url”>(48回应)</A></DIV>

</LI></UL>
<DIV
class=clear></DIV>

<!–{/foreach}–>
<!————————–评论调用
END—————————>

==========================================================================================================================================================================================================================================================================================================================

调用最新评论
<?php
if(!function_exists("get_comments")){
function get_comments($num)
{
$sql = 'SELECT * FROM ecs_comment '.

' WHERE status = 1 AND
parent_id = 0 and comment_type=0 '.

' ORDER BY add_time
DESC';
if ($num >
0)
{
$sql .= ' LIMIT ' . $num;
}
//echo $sql;

$res =
$GLOBALS['db']->getAll($sql);
$comments =
array();
foreach ($res AS $idx
=> $row)
{
$comments[$idx]['user_name']
= $row['user_name'];
$comments[$idx]['content']
= $row['content'];
$comments[$idx]['id_val']
= $row['id_val'];
}
return $comments;
}
}
?>
<meta http-equiv="Content-Type"
content="text/html; charset=utf-8">

<!--数据调用-最新评论开始 -->

<?php

$this->assign('my_comments',get_comments(6)); //
6代表会条数据
?>

<div id="promotion">
<div
class="sortbg">
<div
id="comments_left"></div>
<div
id="comments_right"></div>

</div>
<div
class="sort">
<ul
style="padding-left:8px">

<!--{foreach from=$my_comments
item=comments}-->

<li><a
href="goods.php?id={$comments.id_val}"
target="_blank">{$comments.content|truncate:10:""}</a></li>

<!--{/foreach}-->
</ul>

</div>
</div>

首页调用这个库文件就OK了.
<!-- #BeginLibraryItem
"/library/index_comments.lbi" --><!--
#EndLibraryItem -->

样式大家自己根据网店的风格调整下!

==========================================================================================================================================================================================================================================================================================================================

1、首先修改程序部分
打开incl es/lib_goods.php
找到get_promote_goods()函数部分

$goods[$idx]['url']
=
build_uri('goods', array('gid' => $row['goods_id']),
$row['goods_name']);
复制代码
下面增加代码

$time = gmtime();

if ($time >=
$row['promote_start_date'] && $time
<= $row['promote_end_date'])

{

$goods[$idx]['gmt_end_time'] =
local_date('M d, Y H:i:s',$row['promote_end_date']);

}

else

{

$goods[$idx]['gmt_end_time'] = 0;

}
复制代码
2、
然后将 library/recommend_promotion.lbi
全部替换为下面代码:
<meta http-equiv="Content-Type"
content="text/html; charset=gbk">

<!-- {if $promotion_goods}
-->

<script >

var Tday = new Array();

var daysms = 24 * 60 * 60 * 1000

var hoursms = 60 * 60 * 1000

var Secondms = 60 * 1000

var microsecond = 1000

var DifferHour = -1

var DifferMinute = -1

var DifferSecond = -1

function clock(key)

{

var time = new
Date()

var hour =
time.getHours()

var minute =
time.getMinutes()

var second =
time.getSeconds()

var timeval = ""+((hour
> 12) ? hour-12:hour)

timeval +=((minute
< 10) ? ":0":":")+minute

timeval +=((second
< 10) ? ":0":":")+second

timeval +=((hour
>12 ) ? " PM":" AM")

var convertHour =
DifferHour

var convertMinute =
DifferMinute

var convertSecond =
DifferSecond

var Diffms =
Tday[key].getTime() - time.getTime()

DifferHour =
Math.floor(Diffms / daysms)

Diffms -= DifferHour *
daysms

DifferMinute =
Math.floor(Diffms / hoursms)

Diffms -= DifferMinute *
hoursms

DifferSecond =
Math.floor(Diffms / Secondms)

Diffms -= DifferSecond *
Secondms

var dSecs =
Math.floor(Diffms / microsecond)

if(convertHour !=
DifferHour) a="<font
color=red>"+DifferHour+"</font>天";

if(convertMinute !=
DifferMinute) b="<font
color=red>"+DifferMinute+"</font>时";

if(convertSecond !=
DifferSecond) c="<font
color=red>"+DifferSecond+"</font>分"

d="<font
color=red>"+dSecs+"</font>秒"

if
(DifferHour>0) {a=a}

else
{a=''}

document.getElementByIdx_x("leftTime"+key).innerHTML = a + b + c + d;
//显示倒计时信息

}

</script>

<div id="sales" class="f_l
clearfix">

<h1><a
href="../search.php?intro=promotion"><img
src="images/more.gif"
/></a></h1>

<div class="clearfix
goodBox">

<!--{foreach
from=$promotion_goods key=key item=goods
name="promotion_foreach"}-->

{if
$smarty.foreach.promotion_foreach.index <= 3}

<div class="goodList">

<a
href="{$goods.url}"><img
src="{$goods.thumb}" border="0"
alt="{$goods.name|escape:html}"/></a><br
/>

<p><a
href="{$goods.url}"
title="{$goods.name|escape:html}">{$goods.short_name|escape:html}</a></p>

{$lang.promote_price}<font
class="f1">{$goods.promote_price}</font><br><font
class="f4"
id="leftTime{$key}">{$lang.please_waiting}</font>

</div>

{/if}

<script>

Tday[{$key}] = new Date("{$goods.gmt_end_time}");

window.setInterval(function()

{clock({$key});}, 1000);

</script>

<!--{/foreach}-->

</div>

</div>

<!-- {/if} -->

==========================================================================================================================================================================================================================================================================================================================
如何在ecshop中实现商品属性的调用1.在category.php文件中约425行

$arr[$row['goods_id']]['url'] = build_uri('goods',
array('gid'=>$row['goods_id']),
$row['goods_name']);

后加入代码:

$arr[$row['goods_id']]['spec'] =
get_goods_attr($row['goods_id']);

2.在goods_list.lbi模板库文件中相应位置加入代码:

<!--{foreach from=$goods.spec
item=spec}-->

<p>{$spec.attr_name}:<!--{foreach
from=$spec.goods_attr_list item=spec_list}-->

{$spec_list}/<!--{/foreach}--></p>
<!--{/foreach}-->
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: