导航:首页 > 编程语言 > 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相关的资料

热点内容
java计算12 浏览:249
大金空调摆动式压缩机 浏览:453
新的云服务器如何设置首页 浏览:687
javastring字符位置 浏览:196
银河麒麟字体库存在哪个文件夹 浏览:956
魔兽加丁服务器的航空叫什么 浏览:152
花冠改装案例哪个app多 浏览:515
成绩单app哪个好用 浏览:140
北美程序员vs国内程序员 浏览:181
php解析xml文档 浏览:121
石墨文档APP怎么横屏 浏览:185
墙主钢筋加密和非加密怎么看 浏览:144
金山区文件夹封套定制 浏览:708
soho程序员 浏览:672
java字节截取 浏览:526
php提交作业 浏览:815
房产还没解压可以办理赠予吗 浏览:224
java毫秒转分钟 浏览:753
模式识别中文pdf 浏览:774
c语言平均数字编译错误 浏览:171