ecshop 二次开发 全集

原文地址: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这个是我的模板的名字,你的名字改你自己的
里的  

      {$lang.goods_brand}{$goods.goods_brand}

  
复制代码下面加


{$lang.goods_color}{$goods.goods_color}


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

            

            {$lang.require_field}

          
复制代码在其下加 


                      

            _var['lang']['lab_goods_color']; ?>

            

size="20"  />

            
复制代码


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

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

   {if $need_check_version}

  

   {/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'] = '';
$_LANG['p_y']['link_p'] = 'Powe';
$_LANG['p_y']['link_r'] = 'red ';
$_LANG['p_y']['link_b'] = 'by ';
$_LANG['p_y']['main_start'] = '';
$_LANG['p_y']['main_e'] = 'E';
$_LANG['p_y']['main_c'] = 'CSho';
$_LANG['p_y']['main_p'] = 'p ';
$_LANG['p_y']['v_s'] = '';
$_LANG['p_y']['v'] = VERSION;

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

版权代码三:

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

文件:admin/shop_config.php

代码:   

    $spt = '';
//此处向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中,
中more.gif图片换成你要的图片,或者将图片换成你需要的文字.

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

   回答:模板文件library/recommend_new.lbi中,
more.gif修改成你需要的图片或者是换成你需要的文字.

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

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

  

 


图片1
 

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

 回答:模板文件中,打开goods.dwt,删除{$lang.goods_click_count}:{$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:详细页面的积分

 回答:详细页面的积分在模板 {$lang.goods_give_integral}{$goods.give_integral} {$points_name}中来控制的

  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';

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

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

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

{insert name='qry_info'}

ECShop {$ecs_version}


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

 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.


修改他的值就可以了

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文件,在里面添加相关的代码文件即可,如下演示:

 

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

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

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

{literal}
{/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:   大家自己分析吧,,能看懂这篇文章的,模板部分肯定没问题。回应功能还没做,日后需要加上。

 
 
     
  
  •    href=”http://url”>{$comment.name} 评论:
       href=”{$comment.url}”>{$comment.title}
       class=”stars{$comment.rank} stars”>

     
      
    {$comment.content|truncate:90:”…”}(48回应)
     
  •  
     
     
     


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


    调用最新评论
    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;
    }
    }
    ?>
          
           $this->assign('my_comments',get_comments(6)); // 6代表会条数据
    ?>       
      
      
      
      
      
      


    首页调用这个库文件就OK了.

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


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


    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
    全部替换为下面代码: 




          


          

            

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

              

               {$goods.name|escape:html}


               {$lang.promote_price}{$goods.promote_price}
    {$lang.please_waiting}

              

             {/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模板库文件中相应位置加入代码:

    {$spec.attr_name}:

    {$spec_list}/

    你可能感兴趣的:(Ecshop)