2009年7月25日 星期六

注册时增加【推荐人】选填框

無法查看此摘要。請 按這裡查看文章。

购物车商品列表页无刷新更改商品数量功能

购物车商品列表页无刷新更改商品数量功能
一、功能描述:
ecshop2.6.2购物车商品列表页更改商品数量时必须点击一下更新购物车,再返回后购物车后商的数量,小计,总计才变化,这个用户体验不是很好,ecshop2.7.0对此出加了一个“点击更新购物车按钮”的提示,用户体验也一般,很多用户都想在更改购物车某个商品的数量后小计,总价发生变化,N久前在2.6.2中做了这个功能,现在放出这个功能的代码

二、主要代码:
1、flow.php加上一个处理步骤:

elseif ($_REQUEST['step'] == 'update_num')
{
include('includes/cls_json.php');
$json = new JSON;
$res = array('err_msg' => '', 'result' => '', 'qty' => 1);
$rec_id = intval($_REQUEST['rec_id']);
$num = intval($_REQUEST['num']);

$res['rec_id'] =$rec_id;
$res['num'] =$num;
if ($rec_id == 0 || $num ==0)
{
$res['err_msg'] = '参数错误';
$res['err_no'] = 1;
}
else
{
$db->query("UPDATE " . $GLOBALS['ecs']->table('cart') . " set goods_number = '$num' where rec_id ='$rec_id'");
/* 取得商品列表,计算合计 */
$cart_goods = get_cart_goods();
foreach($cart_goods['goods_list'] as $rec_goods)
{
if($rec_goods['rec_id'] == $rec_id) $res['subtotal'] = $rec_goods['subtotal'];
}
//购物车的描述的格式化
$res['total_shopping_money'] = sprintf($_LANG['shopping_money'], $cart_goods['total']['goods_price']);
$res['market_price_desc'] = sprintf($_LANG['than_market_price'],
$cart_goods['total']['market_price'], $cart_goods['total']['saving'], $cart_goods['total']['save_rate']);
die($json->encode($res));
}
}

2、flow.dwt里加上ajax的处理函数:
<script type="text/javascript" language="javascript">
function update_num(old_num,rec_id)
{
var cur_input = document.getElementById("goods_number_" + rec_id);
if (old_num == cur_input.value)
{
return false;
}
var num = cur_input.value;
if (!Utils.isInt(num))
{
alert('商品数量应为正整数!');
return false
}
if (num <= 0)
{
alert('您应填写大于 0 的数字');
return false
}

Ajax.call('flow.php?step=update_num', "rec_id=" + rec_id + "&num=" + num, update_num_response, "POST", "JSON");
}

function update_num_response(res)
{
if (res.err_msg.length > 0)
{
alert(res.err_msg);
}
else
{
var cur_rec_id =res.rec_id;
document.getElementById("goods_subtotal_" + cur_rec_id).innerHTML = res.subtotal;
document.getElementById("total_shopping_money").innerHTML = res.total_shopping_money;
if(document.getElementById("market_price_desc"))
document.getElementById("market_price_desc").innerHTML = res.market_price_desc;

}
}
</script>

3、在商品数量文本框处加上onblur事件函数
<!-- 购物车内容 -->
<table width="100%" border="0" cellspacing="0" cellpadding="0" class="cart-process"><tr><td><img src="images/cart-pic03.gif" width="397" height="72" /></td><td><table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
<td><img src="images/cart-process01b.gif" width="133" height="72" /></td>
<td><img src="images/cart-process02a.gif" width="111" height="70" /></td>
<td><img src="images/cart-process03a.gif" width="111" height="70" /></td>
<td><img src="images/cart-process04a.gif" width="111" height="70" /></td>
</tr></table></td></tr></table>
<div class="title-a">商品列表</div>
<form id="formCart" name="formCart" method="post" action="flow.php">
<table width="99%" align="center" border="0" cellpadding="5" cellspacing="1" bgcolor="#dddddd">
<tr>
<th bgcolor="#ffffff">{$lang.goods_name}</th>
<!-- {if $show_goods_attribute eq 1} 显示商品属性 -->
<th>{$lang.goods_attr}</th>
<!-- {/if} -->
<!-- {if $show_marketprice} 显示市场价 -->
<th bgcolor="#ffffff">{$lang.market_prices}</th>
<!-- {/if} -->
<th bgcolor="#ffffff">{$lang.shop_prices}</th>
<th bgcolor="#ffffff">{$lang.number}</th>
<th bgcolor="#ffffff">{$lang.subtotal}</th>
<th bgcolor="#ffffff">{$lang.handle}</th>
</tr>
<!-- {foreach from=$goods_list item=goods} -->
<tr>
<td bgcolor="#ffffff" align="center">
<!-- {if $goods.goods_id gt 0 && $goods.extension_code neq 'package_buy'} 商品 -->
<!-- {if $show_goods_thumb eq 1} -->
<ahref="goods.php?id={$goods.goods_id}"target="_blank" class="f6">{$goods.goods_name}</a>
<!-- {elseif $show_goods_thumb eq 2} -->
<ahref="goods.php?id={$goods.goods_id}" target="_blank"><img src="{$goods.goods_thumb}" border="0" title="{$goods.goods_name|escape:html}" /></a>
<!-- {else} -->
<ahref="goods.php?id={$goods.goods_id}" target="_blank"><img src="{$goods.goods_thumb}" border="0" title="{$goods.goods_name|escape:html}" /></a><br />
<ahref="goods.php?id={$goods.goods_id}"target="_blank" class="f6">{$goods.goods_name}</a>
<!-- {/if} -->
<!-- {if $goods.parent_id gt 0} 配件 -->
<span style="color:#FF0000">({$lang.accessories})</span>
<!-- {/if} -->
<!-- {if $goods.is_gift gt 0} 赠品 -->
<span style="color:#FF0000">({$lang.largess})</span>
<!-- {/if} -->
<!-- {elseif $goods.goods_id gt 0 && $goods.extension_code eq 'package_buy'} -->
<ahref="javascript:void(0)" class="f6">{$goods.goods_name}<span style="color:#FF0000;">({$lang.remark_package})</span></a& gt;
<div id="suit_{$goods.goods_id}" style="display:none">
<!-- {foreach from=$goods.package_goods_list item=package_goods_list} -->
<a href="goods.php?id={$package_goods_list.goods_id}" target="_blank" class="f6">{$package_goods_list.goods_name}</a><br />
<!-- {/foreach} -->
</div>
<!-- {else} 优惠活动 -->
{$goods.goods_name}
<!-- {/if} -->
</td>
<!-- {if $show_goods_attribute eq 1} 显示商品属性 -->
<td bgcolor="#ffffff">{$goods.goods_attr|nl2br}</td>
<!-- {/if} -->
<!-- {if $show_marketprice} 显示市场价 -->
<td align="right" bgcolor="#ffffff">{$goods.market_price}</td>
<!-- {/if} -->
<td align="right" bgcolor="#ffffff">{$goods.goods_price}</td>
<td align="right" bgcolor="#ffffff">
<!-- {if $goods.goods_id gt 0 && $goods.is_gift eq 0 && $goods.parent_id eq 0} 普通商品可修改数量 -->
<input type="text" name="goods_number[{$goods.rec_id}]" id="goods_number_{$goods.rec_id}" value="{$goods.goods_number}" size="4" class="inputBg" style="text-align:center "/>
<!-- {else} -->
{$goods.goods_number}
<!-- {/if} -->
</td>
<td align="right" bgcolor="#ffffff" id="goods_subtotal_{$goods.rec_id}">{$goods.subtotal}</td>
<td align="center" bgcolor="#ffffff">
<a href="javascript:if (confirm('{$lang.drop_goods_confirm}')) location.href='flow.php?step=drop_goods&id={$goods.rec_id}'; " class="f6">{$lang.drop}</a>
<!-- {if $smarty.session.user_id gt 0} 如果登录了,可以加入收藏 -->
<a href="javascript:if (confirm('{$lang.drop_goods_confirm}')) location.href='flow.php?step=drop_to_collect&id={$goods.rec_id}'; " class="f6">{$lang.drop_to_collect}</a>
<!-- {/if} --> </td>
</tr>
<!-- {/foreach} -->
</table>
<table width="100%" border="0" style="border-top:1px dotted #DADADA;">
<tr>
<td>
<!-- {if $discount gt 0} -->{$your_discount}<br /><!-- {/if} -->
<span id="total_shopping_money">{$shopping_money}</span><!-- {if $show_marketprice} -->,<span id="market_price_desc">{$market_price_desc}</span><!-- {/if} -->
</td>
<td align="right"><span style="border-top:1px dotted #DADADA;">
<input type="button" value="{$lang.clear_cart}" />
</span></td>
</tr>
</table>

2009年7月24日 星期五

首頁品牌區改成廣告位置

最近用ECSHOP时发模板上的品牌根本用不上,但是空着又太难看,在网站上一搜发现可以通过以下方式更改为广告位。演示地址:http://www.dxgw001.com

1、先把这个区变成在后台-模板设置-广告位那能够调用的区。

在 themes/default找到idex.dwt,用dreamwerver(要4.0以上版本,否则有自动改程序的可能)打开它,在第302行找到这个代码:<!-- #BeginLibraryItem "/library /brands.lbi" --><!-- #EndLibraryItem -->,把这代码改成<!-- TemplateBeginEditable name="今日特价广告位" -->& lt;!-- TemplateEndEditable -->。保存,把它上网站空间覆盖原来文件,刷新,ok,你可以在后台-模板设置-广告位选框那看到已增加了"今日特价广告位"这个选项,但还没有能够使用,因为这个位置显示的图片太小,不是我们要的效果。

2、把这个区域改成能够显示我们想要的大图。

在 themes/default里找到style.css,用dreamwerver打开,在第218行找到这个代码#brands img{width:78px; height:40px; margin:3px 1px; border:1px solid #c5e4ff; float:left;} 后,把它改成#brands img{width:240px; height:190px; margin:3px 1px; border:1px solid #c5e4ff; float:left;}。保存并上传覆盖。

经过这两步的修改后品牌区这个位置就可以显示广告了,广告的添加方法就不用说了,可以是图片或视频都可以。

首頁調用市場價格

本人用的是2.6.2默认模板 别的模板我不清楚适用不~请自行选择 我的是调用出来了www.nmgpp.com/shop

以默认模板为例

打开模板文件夹themes文件在打开default文件夹在打开library文件夹里的recommend_new.lbi文件以最新商品为例

如果你的这个模板没修改过的话应该是这样的代码找到下面的代码

<font class="f1">

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

{$goods.promote_price}

<!-- {else}-->

{$goods.shop_price}

<!--{/if}-->

</font>

在上面的代码前加入下面的代码

<font class="f1">

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

<font style="color:#666666; font- size:12px;">市场价: {$goods.market_price}</font><b><font style="color:#666666; font-size:12px;"></font></b>

<!-- {else}-->

{$goods.market_price}

<!--{/if}-->

</font><br />

修改完后应该是这样

<font class="f1">

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

<font style="color:#666666; font- size:12px;">市场价: {$goods.market_price}</font><b><font style="color:#666666; font-size:12px;"></font></b>

<!-- {else}-->

{$goods.market_price}

<!--{/if}-->

</font><br />

<font class="f1">

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

{$goods.promote_price}

<!-- {else}-->

{$goods.shop_price}

<!--{/if}-->

</font>

其他推荐和热卖同上修改个自的文件就行了

红色字体是颜色和文字大小 不要可以删了不影响代码

如果想把本店价的文字也调出来~~~~就用这段代码<font style="color:#666666; font-size:12px;"& gt;订购价:</font><b><font style="color:#ff9900; font- size:12px;">{$goods.shop_price}</font></b>替换掉下面这句就行了 {$goods.shop_price}

把我的订购价改成自己要的文字就行了~~文字颜色 价格颜色自己修改就行了

修改站內公告變成滾動

系统默认的网站公告是是静态,有时为了使网站更生动我们希望把公告能改为滚动效果。如:http://www.dxgw01.com这种效果

修改方式:

直接把下面代码中的链接及文字改为自己网站的公告,然后再复制到商店公告栏即可

1、带链接式滚动效果公告代码如下:

本周购物排行榜

<table align=center border="0" cellpadding="0" style="border-collapse: collapse">

<tr><td height=5></td></tr>

<tr><td>

<div id=design style="OVERFLOW: hidden; WIDTH: 180px; HEIGHT: 185px">

<div id=design1 style="OVERFLOW: hidden">

<TABLE cellSpacing=0 cellPadding=0 width=180 align=center border=0>

<tr>

<td align=left width="180" height="21">?<a class=b2 href="http://www.dxgw001.com/goods.php?id=54"

title="奥斯力神奇魔环" target="_blank" class="tag_title_link"><samp

style="color:#FF0000;font-weight:bold;">1、奥斯力神奇魔环</samp></a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=88" title="奥丁琻苹果手机" target="_blank"

class="tag_title_link"><samp style="color:#FF0000;font-weight:bold;">2、奥丁琻苹果手机

</samp></a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2 href="http://www.dxgw001.com/goods.php?id=81"

title=" 天翼双模苹果手机" target="_blank" class="tag_title_link">< samp style="color:#FF0000;font-weight:bold;">3、天翼双模苹果手机</a>< /td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=77/" title="台版三星W699"

target="_blank" class="tag_title_link">4、台版三星W699</samp></a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=55/" title="N83i蓝牙眼镜手机" target="_blank"

class="tag_title_link">5、N83i蓝牙眼镜手机</a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=73/" title="LaFite 真钻蚝式腕表"

target="_blank" class="tag_title_link">6、LaFite 真钻蚝式腕表</a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=57/" title="4G台版Hiphone苹果手机"

target="_blank" class="tag_title_link">7、4G台版Hiphone苹果手机</a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2 href="http://www.dxgw001.com/goods.php?id=82"

title="汉泰V70 旋转手机" target="_blank" class="tag_title_link">8、汉泰V70 旋转手机

</a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=79/" title="NCBC VIN3 黄金手机" target="_blank"

class="tag_title_link">9、NCBC VIN3 黄金手机</a></td>

</tr>

<tr>

<td align=left width="180" height="21">?<a class=b2

href="http://www.dxgw001.com/goods.php?id=84/" title="台版 NCKIA N98" target="_blank"

class="tag_title_link">10、台版 NCKIA N98</a></td>

</tr>

</table>

</div>

<div id=design2>

</div>

</div>

<script>

var speed=65

design2.innerHTML=design1.innerHTML

function Marquee2()

{

if(design2.offsetTop-design.scrollTop<=0)

design.scrollTop-=design1.offsetHeight

else

{

design.scrollTop++

}

}

var MyMar2=setInterval(Marquee2,speed)

design.onmouseover=function()

{

clearInterval(MyMar2)

}

design.onmouseout=function()

{

MyMar2=setInterval(Marquee2,speed)

}

</script>

<script language="javascript">

<!--

function showchargemenu(m1)

{

document.getElementById("test").innerHTML = m1.innerHTML;

}

//-->

</script>

</td>

</tr>

</table>

<MARQUEE onmouseover=this.stop() onmouseout=this.start()

scrollAmount=3><U><FONT color=red>

<P>咨询电话:400-666-6465</P></FONT></U></MARQUEE>

2、不带链接滚动效果公告代码如下:

<table align=center border="0" cellpadding="0" style="border-collapse: collapse">

<tr><td height=5></td></tr>

<tr><td>

<div id=design style="OVERFLOW: hidden; WIDTH: 180px; HEIGHT: 185px">

<div id=design1 style="OVERFLOW: hidden">

<TABLE cellSpacing=0 cellPadding=0 width=180 align=center border=0>

<tr>

<td align=left width="180" height="21">?<samp

style="color:#FF0000;font-weight:bold;">欢迎芳芳耐克专卖店,我们的宗旨:诚信经营、服务客户! 咨询电话:400-6666-587</samp></a></td>

</tr>

</table>

</div>

<div id=design2>

</div>

</div>

<script>

var speed=65

design2.innerHTML=design1.innerHTML

function Marquee2()

{

if(design2.offsetTop-design.scrollTop<=0)

design.scrollTop-=design1.offsetHeight

else

{

design.scrollTop++

}

}

var MyMar2=setInterval(Marquee2,speed)

design.onmouseover=function()

{

clearInterval(MyMar2)

}

design.onmouseout=function()

{

MyMar2=setInterval(Marquee2,speed)

}

</script>

<script language="javascript">

<!--

function showchargemenu(m1)

{

document.getElementById("test").innerHTML = m1.innerHTML;

}

//-->

</script>

</td>

</tr>

</table>

修改站内快讯文章标题的显示字符数

修改站内快讯文章标题的显示字符数



未经修改 已经修改

修改文件:new_articles.lbi

修改内容:

原代码:

<ul>

<!--{foreach from=$new_articles item=article}-->

<li>

[<a href="{$article.cat_url}">{$article.cat_name}</a>] <a href="{$article.url}" title="{$article.title|escape:html}">{$article.short_title|truncate:10:"...":true}</a>

</li>

<!--{/foreach}-->

</ul>

更改其中的红字段,我现在所用代码如下:

<ul>

<!--{foreach from=$new_articles item=article}-->

<li>

[<a href="{$article.cat_url}">{$article.cat_name}</a>] <a href="{$article.url}" title="{$article.title|escape:html}">{$article.short_title|truncate:20:"...":true}</a>

</li>

<!--{/foreach}-->

</ul>

將 "總計金額為 $0.00元。"修改為總計金額為 $0元。

將 "您的購物車中有 0 項商品,總計金額為 $0.00元。"
修改為"您的購物車中有 0 項商品,總計金額為 $0元。"

includes/lib_insert.php 123行


$str = sprintf($GLOBALS['_LANG']['cart_info'], $number, price_format($amount, false));

修改為


$str = sprintf($GLOBALS['_LANG']['cart_info'], $number, sprintf($GLOBALS['_CFG']['currency_format'], round($amount)));

SEO基础之-ecshop中标签的写法

SEO基础之-ecshop中标签的写法
做网店的朋友可能最关注是模板的美化,和其他一些小功能上的完善,
这个是必要的,但ecshopseo认为做网店最重要的无外乎SEO优化和推广了。
SEO中各种标签的写法很重要,写的好能得到搜索引擎的青睐。有很多网店店主不太注意这些小问题,但这些问题的确很重要。
要注意的标签有以下几种,标题 (title),网页描述(description)和关键词(Keywords)
title对应搜索引擎收录中的网页最上面的名字,比如www.bnshouji.com 深圳百年手机批发_提供优质手机货源,开展手机代理,手机团购业务!
在ECSHOP后台里,在商店设置里面设置,对应商店标题,
写法一, 网站名+网站口号。
写法二,相关关键词用符号 “|” 或者“_”隔开
网页描述(description)对应搜索引擎收录中的网页的简单描述,可以参照深圳百年手机批发的写法,
一般不超过100字比较好。
比较自然的把你的网站的关键词融入进去,形成自热的语言,也可以带些诱惑性的语言,心想你是客户的话,你在搜索引擎中见到什么站的描述比较容易点进去,多花些心思在上面绝对有好处。
在ecshop后台里,在商店设置里面设置,对应商店描述。
关键词(Keywords)是你网站内容的浓缩,选择前需要在index.baidu.com或者其他查关键字热度的网站查询。新站最好开始找些竞争比较小的词来做,但也要和你的站相关,最好在搜索引擎里先搜索下,如果搜索结果在前几页全是权重高的站的话,基本可以放弃或者做长期打算,相关搜索也是个不错的选择,
在百度和谷歌你搜索一个词的话在最下面会出来一个相关搜索,基本都是别人搜索过某个词,然后继续又搜索了和它相关的词,数量大了之后才出现的,这个词也是个不错的挑选关键词的方式。