① ecshop如何調用優惠活動產品的介紹跪求。。。。。
修改 includes/lib_goods.php 文件,找到 get_recommend_goods 函數部分
修改下面代碼
$sql = 'SELECT g.goods_id, g.goods_name, g.goods_name_style, g.goods_desc, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
"IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".
"promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, g.goods_img, RAND() AS rnd " .
'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
"LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ";
$type_merge = array_merge($type_array['new'], $type_array['best'], $type_array['hot']);
$type_merge = array_unique($type_merge);
$sql .= ' WHERE g.goods_id ' . db_create_in($type_merge);
$sql .= ' ORDER BY g.sort_order, g.last_update DESC';
$result = $GLOBALS['db']->getAll($sql);
foreach ($result AS $idx => $row)
{
if ($row['promote_price'] > 0)
{
$promote_price = bargain_price($row['promote_price'], $row['promote_start_date'], $row['promote_end_date']);
$goods[$idx]['promote_price'] = $promote_price > 0 ? price_format($promote_price) : '';
}
else
{
$goods[$idx]['promote_price'] = '';
}
$goods[$idx]['id'] = $row['goods_id'];
$goods[$idx]['name'] = $row['goods_name'];
$goods[$idx]['goods_desc'] = sub_str(strip_tags($row['goods_desc']), 50);
$goods[$idx]['brief'] = $row['goods_brief'];
$goods[$idx]['brand_name'] = isset($goods_data['brand'][$row['goods_id']]) ? $goods_data['brand'][$row['goods_id']] : '';
$goods[$idx]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']);
......................
接下來就是在
/themes/default/library/recommend_best.lbi
/themes/default/library/recommend_hot.lbi
/themes/default/library/recommend_new.lbi
幾個文件中的調用了。。
這么調用 {$goods.goods_desc}
主要調用代碼 要放在循環裡面
② ecshop怎麼弄滿減促銷
1 後台促銷管理-優惠活動,添加優惠活動
2,進入之後如下圖
設置以上內容,金額就是可以享受折扣的范圍,優惠方式就是減免多少元
③ ecshop的限時促銷怎麼使用
您好,您可以進入後台=》商品管理=》商品列表,編輯要限時促銷的商品,添加促銷價和修改促銷日期,點擊「確定」即可。
④ 如何在ecshop的促銷商品下顯示時間
在ECSHOP首頁的促銷商品是沒有讀取促銷時間段的,
需要二次開發才能實現「在ECSHOP首頁的促銷商品下顯示促銷時間」
下面就來告訴你具體的解決辦法:
修改方法:
打開 /includs/lib_goods.php文件
找到 function get_promote_goods($cats = '') 函數部分
在
$goods[$idx]['name'] = $row['goods_name'];
下邊增加兩行代碼
$goods[$idx]['promote_start_date'] = local_date($GLOBALS['_CFG']['date_format'], $row['promote_start_date'] );
$goods[$idx]['promote_end_date'] = local_date($GLOBALS['_CFG']['date_format'], $row['promote_end_date'] );
注意千萬別加錯位置哦,加錯了位置我可不負責任哦。
進行上面程序文件的修改以後,下面我們就可以在ecshop模板文件中調用 促銷開始時間 和 促銷結束時間了。
調用方法為:
打開 /themes/模板文件夾/library/recommend_promotion.lbi
在 foreach 循環里的適當位置調用如下標簽即可:
開始時間:{$goods.promote_start_date}
結束時間:{$goods.promote_end_date}
⑤ ecshop首頁如何調用指定分類下的推薦熱銷最新商品
其實這個在ecshop中預留這個函數,不知道是不是開發者特意留下,但不想讓所有人知道而已,函數在includes/lib_goods.php裡面。
下面開始教你如何添加指定分類的下熱銷產品:
1.在首頁index.php中找到
1
/* 頁面中的動態內容 */
2
assign_dynamic('index');
2.在上面添加如下代碼
1
$children = get_children(1);
2
$smarty->assign('index_hot_goods_1', get_category_recommend_goods("hot", $children)); // 熱銷商品
其中分類編號1,根據你想調用分類而填寫
如果是最新產品就再加上
1
$children = get_children(1);
2
$smarty->assign('index_new_goods_1', get_category_recommend_goods("new", $children)); // 最新商品
若果是精品產品
1
$children = get_children(1);
2
$smarty->assign('index_best_goods_1', get_category_recommend_goods("best", $children)); // 精品商品
3.然後再模板庫文件中新建index_hot_goods_1.lbi。文件內容如下:
1
<!--{foreach from=$index_hot_goods_1 item=goods}-->
2
<li><a href="{$goods.url}"><img src="{$goods.thumb}" alt="{$goods.name|escape:html}" class="goodsimg" border="0" width="160" height="200" /></a>
3
<h1><a href="{$goods.url}" title="{$goods.name|escape:html}">{$goods.short_name|escape:html}</a></h1>
4
<!-- {if $goods.promote_price neq ""} -->
5
<span>一口價 <b>{$goods.promote_price}</b></span>
6
<!-- {else}-->
7
<span>一口價 <b>{$goods.shop_price}</b></span>
8
<!--{/if}-->
9
</li>
10
<!--{/foreach}-->
4.然後在首頁模板index.dwt中調用index_hot_goods_1.lbi。
1
<!-- #BeginLibraryItem "/library/index_hot_goods_19.lbi" --><!-- #EndLibraryItem -->
5.如果有多個分類要調用,可以重復1-3的步驟
至於每個調用的商品的數量 ,在後台》》模板設置》》
⑥ ecshop首頁怎樣可以顯示所有促銷商品
二)、首頁限時搶購調用以及剩餘時間顯示
1、首先修改程序部分
打開includes/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 timevalue = ""+((hour > 12) ? hour-12:hour)
timevalue +=((minute < 10) ? ":0":":")+minute
timevalue +=((second < 10) ? ":0":":")+second
timevalue +=((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.getElementById("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"}-->
<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>
<script>
Tday[{$key}] = new Date("{$goods.gmt_end_time}");
window.setInterval(function()
{clock({$key});}, 1000);
</script>
<!--{/foreach}-->
</div>
</div>
<!-- {/if} -->
這是我自己整理的促銷調用,有倒計時功能的,如果不需要就刪了那段代碼就可以了。
⑦ ecshop如何調用所有商品
打開themes/我的模板名稱/library/category_tree.lbi
找到這個 <!--{foreach from=$categories item=cat}-->
替換成 <!--{foreach from=get_categories_tree() item=cat}-->
就可以了
⑧ Ecshop後台促銷、優惠日期無法選擇
修改前請先備份:
languages\語言樣式\calendar.php中的
$_LANG['calendar_lang']['calendar_time'] = "'T';
改為:
$_LANG['calendar_lang']['calendar_time'] = 'T';
⑨ ecshop 促銷商品怎麼做一個倒計時效果,js還是ecshop就有這個功能,怎麼調用
給促銷商品添加倒計時效果,
第一步 在模板文件中有個php文件夾,打開init.php文件,搜索get_advlist要sql後追加,意思就是在$sql = "select ap.ad_width,ap.ad_height,ad.ad_id,ad.ad_name,ad.ad_code,後面添加搜索欄位ad.start_time,ad.end_time,如果存在該欄位,就不需要再添加了。
第二步 然後在$arr[$row['ad_id']]['name'] = $row['ad_name'];後添加
$time = gmtime();
if ($time >= $row['start_time'] && $time <= $row['end_time'])
{
$arr[$row['ad_id']]['etime'] = local_date('M d, Y H:i:s',$row['end_time']);
}
else
{
$arr[$row['ad_id']]['etime'] = 0;
}
第三步
<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,num)
{
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var timevalue = ""+((hour > 12) ? hour-12:hour)
timevalue +=((minute < 10) ? ":0":":")+minute
timevalue +=((second < 10) ? ":0":":")+second
timevalue +=((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=#666>"+DifferHour+"</font>天";
if(convertMinute != DifferMinute) b="<font color=#666>"+DifferMinute+"</font>時";
if(convertSecond != DifferSecond) c="<font color=#666>"+DifferSecond+"</font>分"
d="<font color=#666>"+dSecs+"</font>秒"
if (DifferHour>0) {a=a}
else {a=''}
document.getElementById("leftTime"+num+key).innerHTML = a + b + c + d; //顯示倒計時信息
}
</script>
<!--{foreach from=$goods_list item=goods name=name key=key}-->
<!-- {if $smarty.foreach.name.iteration < 2} -->
<div class="tab-pannel">
<h6 style="visibility: visible;" class="countDownWrapper J_countDownWrapper">離結束僅剩:<span class="J_countDown countDown" id="leftTime1{$key}"></span></h6>
<h5 class="slideTitle">{$goods.goods_name}</h5>
<h6 class="slideSubTitle" style="height:36px; overflow:hidden;"><span class="greenTip">{$goods.goods_brief}</span></h6>
<a href="pro_goods.php?id={$goods.goods_id}" style="width:290px; height:220px; overflow:hidden;"><img src="{$goods.goods_img}" width="220" height="220" style="margin-left:35px;" ></a>
</div>
<script>
Tday[{$key}] = new Date("{$ad.etime}");
window.setInterval(function()
{clock({$key},1);}, 1000);
</script>
<!--{/if}-->
<!--{/foreach}-->
代碼參考,樣式自行定義
⑩ 如何在ecshop首頁調用指定分類的熱銷,推薦,新
找到ecshop的includes/lib_goods.php,
把SQL語句改一下,與category表關聯即可
將
$sql = 'SELECT g.goods_id,g.goods_name, g.goods_name_style,
g.market_price, g.shop_price AS org_price, g.promote_price, ' .
修改為
$sql = 'SELECT g.goods_id,g.cat_id,c.parent_id,g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
繼續找到
'LEFT JOIN ' . $GLOBALS['ecs']->table('brand') . ' AS b ON b.brand_id = g.brand_id ' .
在它下面加一句
'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON c.cat_id = g.cat_id ' .
然後將
if (!empty($cats))
{
$sql .= " AND (" . $cats . " OR " . get_extension_goods($cats) .")";
}
改為
if (!empty($cats))
{
$sql .= " AND (c.parent_id =" . $cats. " OR " . get_extension_goods($cats) .")";
}
這個是和分類表建立關聯,調出商品所在分類的上級分類
然後在index.php中增加下面代碼
$smarty->assign('chot_goods_35', get_category_recommend_goods('hot','35')); //指定分類下的熱銷商品
注意這個35是一級分類的ID,然後在模板中調用即可
<!--{foreach from=$chot_goods_35 item=goods}-->
<div style="padding-top: 8px;" class="new-tr">
<a target="_blank" href="{$goods.url}"><img width="116" height="130" border="0" alt="{$goods.name|escape:html}" src="{$goods.thumb}"></a>
<div>
<a target="_blank" href="{$goods.url}">{$goods.name|escape:html}</a><br>
<span style="color: rgb(102, 102, 102); text-decoration: line-through;">市場價:{$goods.market_price}</span><br>
特賣價:<span style="color: rgb(255, 0, 0);">{$goods.shop_price}</span><br>
<span class="font-gmm"><a href="javascript:addToCart({$goods.id})">立即搶購</a></span>
</div>
<span class="new-line"></span>
</div>
<!--{/foreach}-->
同理,新品,推薦都可以調,只要把hot改為new 或者best就可以了