導航:首頁 > 編程語言 > ecshopgoodsphp

ecshopgoodsphp

發布時間:2022-04-28 08:14:36

⑴ 如何在ecshop中實現不同等級的會員顯示不同的商品價格

您在修改前做好備份後台商品列表顯示會員等級價格的解決辦法1、修改admin/includes/lib_goods.php的goods_list()函數部分在return array('goods' = $row, 'filter' = $filter, 'page_count' = $filter['page_count'], 'record_count' = $filter['record_count']);後面添加foreach($row as $key_tmp=$goods_tmp){ $sql = "SELECT rank_id, IFNULL(mp.user_price, r.discount * $goods_tmp[shop_price] / 100) AS price, r.rank_name, r.discount " .'FROM ' . $GLOBALS['ecs']-table('user_rank') . ' AS r ' .'LEFT JOIN ' . $GLOBALS['ecs']-table('member_price') . " AS mp "."ON mp.goods_id = '$goods_tmp[goods_id]' AND mp.user_rank = r.rank_id " ."WHERE r.show_price = 1 OR r.rank_id = '$_SESSION[user_rank]'";$res_up = $GLOBALS['db']-query($sql);while ($row_up = $GLOBALS['db']-fetchRow($res_up)){$row[$key_tmp]['user_price'][$row_up['rank_id']] = array('rank_name' = htmlspecialchars($row_up['rank_name']),'price' = price_format($row_up['price']));}}2、修改模版文件 admin/templates/goods_list.htm在{$goods.shop_price}與/span之間增加下面代碼{if $goods.user_price}{foreach from=$goods.user_price item=user_price }{$user_price.rank_name}:{$user_price.price}{/foreach}{/if}div id="mainDiv"{if $goods.user_price}{foreach from=$goods.user_price item=user_price }li class="c1"{$user_price.rank_name}/lili class="c2"span onclick="listTable.edit(this, 'edit_member_price', '{$goods.goods_id}_{$rank.rank_id}')"{$user_price.price}/span/li/ul{/foreach}{/if}/div

PHP session 變數用於存儲有關用戶會話的信息,或更改用戶會話的設置。Session 變數保存的信息是單一用戶的,並且可供應用程序中的所有頁面使用。
PHP Session 變數
當您運行一個應用程序時,您會打開它,做些更改,然後關閉它。這很像一次會話。計算機清楚你是誰。它知道你何時啟動應用程序,並在何時終止。但是在網際網路上,存在一個問題:伺服器不知道你是誰以及你做什麼,這是由於 HTTP 地址不能維持狀態。
通過在伺服器上存儲用戶信息以便隨後使用,PHP session 解決了這個問題(比如用戶名稱、購買商品等)。不過,會話信息是臨時的,在用戶離開網站後將被刪除。如果您需要永久儲存信息,可以把數據存儲在資料庫中。
Session 的工作機制是:為每個訪問者創建一個唯一的 id (UID),並基於這個 UID 來存儲變數。UID 存儲在 cookie 中,亦或通過 URL 進行傳導。

⑵ ecshop中的goods.php是怎麼注入模板變數{$sort_goods_sn}的

$smarty->assign('sort_goodds_sn', '它的值');

在查找商品表時,搜索該欄位,再進行賦值,用的是smarty 的原理,你可以看看smarty 。

⑶ ecshop在goods.php頁怎麼獲得要點擊商品的ID

那你就用 get 或者 post 接受一下唄
或者這么 寫一個
$goods_id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;

你看看你是通過 js 還是通過from 提交的

⑷ 如何在ecshop中實現後台商品列表顯示會員等級價格的解決辦法

您在修改前做好備份
後台商品列表顯示會員等級價格的解決辦法
1、修改admin/includes/lib_goods.php的goods_list()函數部分
在return array('goods' => $row, 'filter' => $filter, 'page_count' => $filter['page_count'], 'record_count' => $filter['record_count']);
後面添加
foreach($row as $key_tmp=>$goods_tmp)
{
$sql = "SELECT rank_id, IFNULL(mp.user_price, r.discount * $goods_tmp[shop_price] / 100) AS price, r.rank_name, r.discount " .
'FROM ' . $GLOBALS['ecs']->table('user_rank') . ' AS r ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = '$goods_tmp[goods_id]' AND mp.user_rank = r.rank_id " .
"WHERE r.show_price = 1 OR r.rank_id = '$_SESSION[user_rank]'";
$res_up = $GLOBALS['db']->query($sql);
while ($row_up = $GLOBALS['db']->fetchRow($res_up))
{
$row[$key_tmp]['user_price'][$row_up['rank_id']] = array(
'rank_name' => htmlspecialchars($row_up['rank_name']),
'price' => price_format($row_up['price']));
}
}
2、修改模版文件 admin/templates/goods_list.htm
在{$goods.shop_price}與</span>之間增加下面代碼
{if $goods.user_price}
{foreach from=$goods.user_price item=user_price }
<br>
{$user_price.rank_name}:{$user_price.price}
{/foreach}
{/if}

<div id="mainDiv">
{if $goods.user_price}
{foreach from=$goods.user_price item=user_price }
<ul>
<li class="c1">{$user_price.rank_name}</li>
<li class="c2"><span onclick="listTable.edit(this, 'edit_member_price', '{$goods.goods_id}_{$rank.rank_id}')">{$user_price.price}
</span></li>
</ul>
{/foreach}
{/if}
</div>

⑸ ecshop 怎樣調用分類和分類下的商品

在系統目錄文件找到includes/lib_goods.php 這個文件打開在此頁最底部加入以下函數代碼:
/**
* 首頁獲取指定分類產品
*
* @access public
* @param string $cat_id53_best_goods
* @param array $cat_id53_best_goods
* @return array
*/
function get_cat_id_goods_list($cat_id = '', $num = '') {
$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, ' .
"IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, " .
"promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, " .
"g.is_best, g.is_new, g.is_hot, g.is_promote " .
'FROM ' . $GLOBALS ['ecs']->table ( 'goods' ) . ' AS g ' .
'LEFT JOIN ' . $GLOBALS ['ecs']->table ( 'category' ) . ' AS c ON c.cat_id = g.cat_id ' .
"LEFT JOIN " . $GLOBALS ['ecs']->table ( 'member_price' ) . " AS mp " .
"ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' " .
"Where g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 " .
$sql .= " AND (c.parent_id =" . $cat_id . " OR g.cat_id = " . $cat_id . " OR g.cat_id " . db_create_in ( array_unique ( array_merge ( array (
$cat_id
), array_keys ( cat_list ( $cat_id, 0, false ) ) ) ) ) . ")";
$sql .= " LIMIT $num";
$res = $GLOBALS ['db']->getAll ( $sql );
$goods = array ();
foreach ( $res as $idx => $row ) {
$goods [$idx] ['id'] = $row ['article_id'];
$goods [$idx] ['id'] = $row ['goods_id'];
$goods [$idx] ['name'] = $row ['goods_name'];
$goods [$idx] ['brief'] = $row ['goods_brief'];
$goods [$idx] ['brand_name'] = $row ['brand_name'];
$goods [$idx] ['goods_style_name'] = add_style ( $row ['goods_name'], $row ['goods_name_style'] );
$goods [$idx] ['short_name'] = $GLOBALS ['_CFG'] ['goods_name_length'] > 0 ? sub_str ( $row ['goods_name'], $GLOBALS ['_CFG'] ['goods_name_length'] ) : $row ['goods_name'];
$goods [$idx] ['short_style_name'] = add_style ( $goods [$idx] ['short_name'], $row ['goods_name_style'] );
$goods [$idx] ['market_price'] = price_format ( $row ['market_price'] );
$goods [$idx] ['shop_price'] = price_format ( $row ['shop_price'] );
$goods [$idx] ['thumb'] = empty ( $row ['goods_thumb'] ) ? $GLOBALS ['_CFG'] ['no_picture'] : $row ['goods_thumb'];
$goods [$idx] ['goods_img'] = empty ( $row ['goods_img'] ) ? $GLOBALS ['_CFG'] ['no_picture'] : $row ['goods_img'];
$goods [$idx] ['url'] = build_uri ( 'goods', array (
'gid' => $row ['goods_id']
), $row ['goods_name'] );
}
return $goods;
}
打開系統根目錄下index.php文件加入如下代碼,如果要在別的頁面調用加到別的頁面:
$smarty->assign('cat_id_goods_list_86', get_cat_id_goods_list(86,9));
// 指定商品調用
//其中86指的調用的欄目ID,9指的是調用商品的數量。
3
在首頁模版中調用即可,如下:
<!--{foreach from=$cat_id_goods_list_86 item=goods}-->
<li> <a href="{$goods.url}" target="_blank"> <img src="{$goods.thumb}" alt="{$goods.name|escape:html}" /></a> <span class="a_title"> <a href="{$goods.url}" title="{$goods.name|escape:html}" target="_blank"> {$goods.short_style_name}</a> </span> <div style="text-indent: 5px;">市場價 <span class="del">{$goods.market_price}</span></div> <div style="text-indent: 5px;"><span class="red">售 價 {$goods.shop_price}</span></div></li>
<!--{/foreach}-->

⑹ php怎麼調用函數商品購買問題

購買方法如下
1.在ecshop程序goods.php頁面最下面加入這兩個函數functionget_buy_sum($goods_id){$sql='SELECTIFNULL(SUM(g.goods_number),0)'.'FROM'.$GLOBALS['ecs']->table('order_info').'ASo,'.$GLOBALS['ecs']->table('order_goods').'ASg'."WHEREo.order_id=g.order_id"."ANDo.order_status='".OS_CONFIRMED."'"."ANDo.shipping_status".db_create_in(array(SS_SHIPPED,SS_RECEIVED))."ANDo.pay_status".db_create_in(array(PS_PAYED,PS_PAYING))."ANDg.goods_id='$goods_id'";return$GLOBALS['db']->getOne($sql);}functionget_comment_num($goods_id)_$sql="selectcount(*)_rom".$GLOBALS['ecs']->table('comment')."whereid_value='".$goods_id."'_NDstatus=1";return$GLOBALS['db']->getOne($sql);}2.在ecshop程序goods.php中加入$smarty->assign('buy_num',get_buy_sum($goods_id));$smarty->assign('comment_num',get_comment_num($goods_id));在$smarty->display('goods.dwt',_?$cache_id);之前哈!3.ecshop中goods.dwt模板中加這個,大概在221行累計售出:{$buy_num}評論數量:{$comment_num}

⑺ ECShop怎麼實現已售出多少件功能

1.在根目錄下找 category.php , 查找
$arr[$row['goods_id']]['url']
在底下添加以下代碼:
/*** 已出售多少件 , 直接使用smarty 的insert 調用該方法 , 使用在goods_lbi文件中 ***/
function insert_selectNum($arr){
$goods_id = $arr["goods_id"];
$sql = 'selectNULLM(g.goods_number),0)' .
'FROM' . $GLOBALS['ecs']->table('order_info').'AS o,' .
$GLOBALS['ecs']->table('order_goods') . ' AS g ' .
"where o.order_id = g.order_id and g.goods_id = '$goods_id'" . $ext;
$sales_count_num = $GLOBALS['db']->getOne($sql);
//echo $sql."==== 測試是否有數據輸入";
return $sales_count_num;
}
2.在themes\default\library 目錄下找 goods_list.lbi 查找
修改前請注意備份源文件。
==========================================================================================

ecshop商品詳細頁顯示已售商品數量和評論數量
ecshop增加已售數量和評論數量很簡單,步驟如下,原創文章轉載請指明同盟者網路http://blog.sina.com.cn/tomener
1.在ecshop程序goods.php頁面最下面加入這兩個函數
function get_buy_sum($goods_id)
{
$sql = 'SELECT IFNULL(SUM(g.goods_number), 0) ' .
'FROM ' . $GLOBALS['ecs']->table('order_info') . ' AS o, ' .
$GLOBALS['ecs']->table('order_goods') . ' AS g ' .
"WHERE o.order_id = g.order_id " .
"AND o.order_status = '" . OS_CONFIRMED . "' " .
"AND o.shipping_status " . db_create_in(array(SS_SHIPPED, SS_RECEIVED)) .
" AND o.pay_status " . db_create_in(array(PS_PAYED, PS_PAYING)) .
" AND g.goods_id = '$goods_id'";
return $GLOBALS['db']->getOne($sql);
}

function get_comment_num($goods_id) {
$sql= "select count(*) from ".$GLOBALS['ecs']->table('comment')." where id_value='".$goods_id."' AND status = 1";
return $GLOBALS['db']->getOne($sql);
}

2.在ecshop程序goods.php中加入

$smarty->assign('buy_num',get_buy_sum($goods_id));

$smarty->assign('comment_num',get_comment_num($goods_id));

在$smarty->display('goods.dwt', $cache_id);之前哈!

3.ecshop中goods.dwt模板中加這個,大概在221行
<!-- {if $buy_num} 已出售量-->
<li class="clearfix">
<dd>
<strong>累計售出:</strong>{$buy_num}
</dd>
</li>
<!--{/if}-->
<!-- {if $comment_num} 評論數量-->
<li class="clearfix">
<dd>
<strong>評論數量:</strong><a href="#comment">{$comment_num}</a>
</dd>
</li>
<!--{/if}-->

⑻ ecshop修改了一個list_goods.php後,怎麼列印數組,查看調試,具體一些

以下代碼可以幫助你調試程序:

echo "<pre>";
print_r($test);

echo "<pre>";
$test就是你要列印的數組,然後找display對應的模板,頁面頭部就可以看到你數組的數據。
希望能幫助到你..

⑼ ecshop的{$goods.goods_desc}怎麼調用謝謝

首先{$goods.goods_desc}和{$lang.goods_brief}是不一樣的,前者是在flow.php中有通過smarty->assign('goods',XXX)來對這個數組進行賦值,只有在對應的php頁面裡面對$good數組裡面的goods_desc賦值了,那麼在模板頁面能在模板頁面裡面通過{$goods.goods_desc}來顯示。
至於{$lang.goods_brief}是語言文件,你需要在flow.php頁面裡面載入對應的語言文件,就是languages文件夾裡面對應的文件,
如果你懂php只是對ecshop不了解,那麼我說的這些應該對你有幫助,如果不懂php的話,那我也沒辦法了找個懂php的人幫你去做吧

⑽ 如何在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就可以了

閱讀全文

與ecshopgoodsphp相關的資料

熱點內容
壓縮機異音影響製冷嗎 瀏覽:711
德斯蘭壓縮機 瀏覽:490
程序員太極拳視頻 瀏覽:531
網上購買加密鎖 瀏覽:825
安卓為什麼軟體要隱私 瀏覽:83
虛擬主機管理源碼 瀏覽:811
java圖形圖像 瀏覽:230
單片機輸出口電平 瀏覽:486
java配置資料庫連接 瀏覽:479
java多態的體現 瀏覽:554
java的split分隔符 瀏覽:128
跪著敲代碼的程序員 瀏覽:238
web和php有什麼區別 瀏覽:120
加密的電梯卡怎麼復制蘋果手機 瀏覽:218
warez壓縮 瀏覽:137
黑馬程序員培訓機構官網天津 瀏覽:904
mainjavasrc 瀏覽:58
如何買伺服器挖礦 瀏覽:292
php批量上傳文件夾 瀏覽:560
安卓固件怎麼更新 瀏覽:169