【求助】天呐我好崩溃,到底哪里错了?小白实在是无能为力啊!
php吧
全部回复
仅看楼主
level 1
303xxxxxx 楼主
梗:一切因为兴趣爱好,望大神指点。
问题描述:电商类网站,(首页》一级》二级)商品第一级分类显示第二级的内容。第二级的内容显示我赋予第二级内容的属性,从而根据属性找到相关商品。
1:通过后台添加一种商品属性。
2:通过分配属性,赋予某种分类或者商品相应的属性。使之这种属性变成本类可选选项。分类和下级分类都能赋予。
3:通过编辑商品,可使商品具备相应的属性。分类与下级分类都能勾选。
4:但是现在问题来了,在测量仪器仪表那里没有被分配属性,GPS定位分配了属性,但是显示的时候却都显示出来了,我因该如何解决这个问题?

正确的
显示下面左一图应该没有产地,显示方式,品牌和地区,只显示GPS定位。因为我只给GPS定位赋予的属性啊。[滑稽]
2017年12月20日 08点12分 1
level 1
303xxxxxx 楼主
// 分配属性,将属性派发给商品分类
function distribute()
{
if(!IS_POST)
{
$cate_id = empty($_GET['cate_id']) ? 0 : intval($_GET['cate_id']);
if (!$cate_id)
{
$this->show_warning('Hacking Attempt');
return;
}
//当前分类的级层,如 女装/连衣裙
$this->_gcate_mod = &bm('gcategory');
$this->assign('distribute_cate',$this->_gcate_mod->get_ancestor($cate_id));
$prop_list = $this->_props_mod->find(array('conditions'=>'status=1','order'=>'sort_order,pid'));
foreach($prop_list as $key => $prop)
{
$prop_list[$key]['prop_value']=$this->_prop_value_mod->find(array('conditions'=>'status=1 and pid='.$prop['pid'],'order'=>'sort_order,vid'));
}
// 如果已经分配过属性,则进行 checked="checked" 设置
$cate_pvs = $this->_cate_pvs_mod->get($cate_id);
if($cate_pvs)
{
$pvs = $cate_pvs['pvs'];
$pv = explode(';',$pvs);
$p = array();// 存储分配有属性名 prop 的数组
$v = array();// 存储分配有属性值 prop_value 的数组
foreach($pv as $pitem)
{
$item = explode(':',$pitem);
$p[] = $item[0];
$v[] = $item[1];
}
$p = array_unique($p); // 去掉重复值
$v = array_unique($v);// 去掉重复值
}
foreach($prop_list as $key => $prop)
{
if(isset($p) && in_array($prop['pid'],$p)) {
$prop_list[$key]['checked'] = 1;
}
else {
$prop_list[$key]['checked'] = 0;
}
foreach($prop['prop_value'] as $key_v => $pvalue)
{
if(isset($v) && in_array($pvalue['vid'],$v)) {
$prop_list[$key]['prop_value'][$key_v]['checked'] = 1;
}
else {
$prop_list[$key]['prop_value'][$key_v]['checked'] = 0;
}
}
}
//print_r($prop_list);exit;
$this->assign('prop_list',$prop_list);
2017年12月20日 08点12分 2
level 9
没懂你的意思
2017年12月20日 10点12分 3
1