ListBox增加值的时候,可以增加一个Value,一个Text,Text就是显示出来的,Value是看不到的,比如你存一个人,就可以存人的ID和人的NAME,这样可以取到ID来唯一确定一个人了。
ListBoxItemsAdd((new ListItem("姓名","id"));
显示出来的就是“姓名”,可以用
ListBoxSelectedItemText获得“姓名”
ListBoxSelectedItemValue获得"id"
1
把categoryphp 里面的
/ 获取价格分级 /
if ($cat['grade'] == 0 && $cat['parent_id'] != 0)
{
$cat['grade'] = get_parent_grade($cat_id); //如果当前分类级别为空,取最近的上级分类
}
if ($cat['grade'] > 1)
{
/ 需要价格分级 /
/
算法思路:
1、当分级大于1时,进行价格分级
2、取出该类下商品价格的最大值、最小值
3、根据商品价格的最大值来计算商品价格的分级数量级:
价格范围(不含最大值) 分级数量级
0-01 0001
01-1 001
1-10 01
10-100 1
100-1000 10
1000-10000 100
4、计算价格跨度:
取整((最大值-最小值) / (价格分级数) / 数量级) 数量级
5、根据价格跨度计算价格范围区间
6、查询数据库
可能存在问题:
1、
由于价格跨度是由最大值、最小值计算出来的
然后再通过价格跨度来确定显示时的价格范围区间
所以可能会存在价格分级数量不正确的问题
该问题没有证明
2、
当价格=最大值时,分级会多出来,已被证明存在
/
$sql = "SELECT min(gshop_price) AS min, max(gshop_price) as max "
" FROM " $ecs->table('goods') " AS g "
" WHERE ($children OR " get_extension_goods($children) ') AND gis_delete = 0 AND gis_on_sale = 1 AND gis_alone_sale = 1 ';
//获得当前分类下商品价格的最大值、最小值
$row = $db->getRow($sql);
// 取得价格分级最小单位级数,比如,千元商品最小以100为级数
$price_grade = 00001;
for($i=-2; $i<= log10($row['max']); $i++)
{
$price_grade = 10;
}
//跨度
$dx = ceil(($row['max'] - $row['min']) / ($cat['grade']) / $price_grade) $price_grade;
if($dx == 0)
{
$dx = $price_grade;
}
for($i = 1; $row['min'] > $dx $i; $i ++);
for($j = 1; $row['min'] > $dx ($i-1) + $price_grade $j; $j++);
$row['min'] = $dx ($i-1) + $price_grade ($j - 1);
for(; $row['max'] >= $dx $i; $i ++);
$row['max'] = $dx ($i) + $price_grade ($j - 1);
$sql = "SELECT (FLOOR((gshop_price - $row[min]) / $dx)) AS sn, COUNT() AS goods_num "
" FROM " $ecs->table('goods') " AS g "
" WHERE ($children OR " get_extension_goods($children) ') AND gis_delete = 0 AND gis_on_sale = 1 AND gis_alone_sale = 1 '
" GROUP BY sn ";
$price_grade = $db->getAll($sql);
foreach ($price_grade as $key=>$val)
{
$price_grade[$key]['start'] = $row['min'] + round($dx $val['sn']);
$price_grade[$key]['end'] = $row['min'] + round($dx ($val['sn'] + 1));
$price_grade[$key]['formated_start'] = price_format($price_grade[$key]['start']);
$price_grade[$key]['formated_end'] = price_format($price_grade[$key]['end']);
$price_grade[$key]['url'] = build_uri('category', array('cid'=>$cat_id, 'bid'=>0, 'price_min'=>$price_grade[$key]['start'], 'price_max'=> $price_grade[$key]['end'], 'filter_attr'=>0));
/ 判断价格区间是否被选中 /
if (isset($_REQUEST['price_min']) && $price_grade[$key]['start'] <= $price_min && $price_grade[$key]['end'] >= $price_max)
{
$price_grade[$key]['selected'] = 1;
}
else
{
$price_grade[$key]['selected'] = 0;
}
}
$smarty->assign('price_grade', $price_grade);
}
复制到indexphp里面
2
把price_gradelbi在indexdwt中找个地方放进去。
3理论上的研究,没试过
<!--{foreach from=$flash name=myflash item=flash}-->
<td><div class="bg" style="background:"><a style="background:url({$flashsrc}) center center no-repeat;" data-bg="{$flashsrc}" href="{$flashurl}" target="_blank"></a></div></td>
<!--{/foreach}-->
在index_ad3lbi库文件里面,加入循环;
如何给商品增加一个新字段,来录入一些新的内容。
下面我们结合ecshop后台“商品编辑”、“商品录入”来谈谈如何给ecshop商品增加一个新字段,假设我们将这个新字段命名为
other_col
1、首先要修改数据表结构,给表
ecs_goods
增加新字段:other_col,
进入后台
》数据库管理
》SQL查询,输入下面SQL语句,提交。注意如果你的数据表前缀不是ecs_
请自行修改之
alter
table
ecs_goods
add
column
other_col
varchar(64);
2、在ecshop后台的admin\templates\goods_infohtm中增加以下代码
<tr>
<td
class="label">自定义字段</td>
<td><input
type="text"
name="other_col"
value="{$goodsother_col}"
size="20"/>
</td>
</tr>
3、在admin/goodsphp的elseif
($_REQUEST['act']
==
'insert'
||
$_REQUEST['act']
==
'update')里面增加以下程序
$sql
=
"INSERT
INTO
"
$ecs->table('goods')
"
(goods_name,
goods_name_style,
goods_sn,
"
"cat_id,
brand_id,
shop_price,
market_price,
is_promote,
promote_price,
"
"promote_start_date,
promote_end_date,
goods_img,
goods_thumb,
original_img,
keywords,
goods_brief,
"
"seller_note,
goods_weight,
goods_number,
warn_number,
integral,
give_integral,
is_best,
is_new,
is_hot,
"
"is_on_sale,
is_alone_sale,
is_shipping,
goods_desc,
add_time,
last_update,
goods_type,
rank_integral,
suppliers_id,other_col)"
"VALUES
('$_POST[goods_name]',
'$goods_name_style',
'$goods_sn',
'$catgory_id',
"
"'$brand_id',
'$shop_price',
'$market_price',
'$is_promote','$promote_price',
"
"'$promote_start_date',
'$promote_end_date',
'$goods_img',
'$goods_thumb',
'$original_img',
"
"'$_POST[keywords]',
'$_POST[goods_brief]',
'$_POST[seller_note]',
'$goods_weight',
'$goods_number',"
"
'$warn_number',
'$_POST[integral]',
'$give_integral',
'$is_best',
'$is_new',
'$is_hot',
'$is_on_sale',
'$is_alone_sale',
$is_shipping,
"
"
'$_POST[goods_desc]',
'"
gmtime()
"',
'"
gmtime()
"',
'$goods_type',
'$rank_integral',
'$suppliers_id','$_POST[other_col]')";
。。。。。。。。
。。。。。。。。
"
other_col
=
'$_POST[other_col]',
"
这样我们就完成了在ECSHOP后台录入和修改新字段的功能了。
下面再来说一下前台调用的方法:
调用也很简单,在PHP中找到相应的循环方法,从数据库中查询一下,再赋值。
直接在模板文件或者
lbi文件里
这么调用即可
{$goodsother_col}
在themes/default文件夹中,找到indexdwt文件,打开编辑,把你希望出现该模块的位置,写上<!-- #BeginLibraryItem "/library/my_recommend_newlbi" --> <!-- #EndLibraryItem -->。
在themes/default/library文件夹里找到recommend_newlbi,再复制一份儿相同的命名为my_recommend_newlbi,找到其中的代码<!---->,修改为<!---->,将该foreach循环中的代码,换成
<!-- -->
这里写“比较大”样子的代码
<!-- -->
这里写原本foreach循环中的代码
<!-- -->
优惠价格百分比,需要在该foreach循环中添加,就是百分比的数字,在includes文件夹中,找到lib_goodsphp这个文件,打开编辑,搜索找到get_recommend_goods这个方法,往下,找到$goods[$idx]['url']这段代码,就在这行代码下面,添加一行新的代码,$goods[$idx]['baifenbi'] = 100 (1 - round( (floatval($row['shop_price']) / floatval($row['market_price'])) , 4) );
大功告成,管理员后台,清除缓存,到主页看吧。
要修改前台主要是模板目录 themes下就是模板目录 里面有各种模板。默认模板是 default 文件夹,你可以打开之后看里面的 stylecss这个文件 就是样式表文件,通过修改这个文件基本可以修改样式了,布局就是在模板目录里修改的。
或者你也可以挑选一下现成的模板,可以看看“ECSHOP模板堂”
以上就是关于C#中listbox中的文本怎么获取全部的内容,包括:C#中listbox中的文本怎么获取、ecshop怎么按照价位分类、ECShop轮播图为什么不显示呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)