<td class="label">{$lang.parent_id}:</td>
<td>
<select class="c_parent" name="parent[]" οnchange="select_children(this)">
<option value="0">{$lang.cat_top}</option>
</select>
{if $cat_list}
<select class="c_parent" name="parent[]" οnchange="select_children(this)">
<option value="0">请选择</option>
{$cat_list}
</select>
{/if}
{if $cat_parent_list}
{if $cat_parent_list.parent}
{foreach from=$cat_parent_list.parent item=val}
<select class="c_parent" name="parent[]" οnchange="select_children(this)">
<option value="0">请选择</option>
{$val}
</select>
{/foreach}
{/if}
{if $cat_parent_list.child}
<select class="c_parent" name="parent[]" οnchange="select_children(this)">
<option value="0">请选择</option>
{$cat_parent_list.child}
</select>
{/if}
{/if}
<input type="hidden" name="parent_id" id="parent_id" value="{$cat_info.parent_id}" />
</td>
</tr>
//2016-1-30 Donald 获取子分类
function get_cat_child($parent_id, $selected_id=0)
{
$res = $GLOBALS['db']->getAll("SELECT cat_id, cat_name FROM " .$GLOBALS['ecs']->table('category') ." WHERE parent_id=".$parent_id );
$options = "";
if($selected_id>0)
{
foreach ($res as $key => $val)
{
if($selected_id == $val['cat_id'])
{
$options .="<option selected='selected' value=".$val['cat_id'].">".$val['cat_name']."</option>";
}else
{
$options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
}
}
}else
{
foreach ($res as $key => $val)
{
$options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
}
}
return $options;
}
//2016-10-14 Donald 递归获取父类
//获取所有父类的分类
function get_cat_parent($self_id,$cat_id,$result=array()){
//定义数据
$options = "";
if($self_id>0){
//查询同父类的数据
$level_cat_info = $GLOBALS['db']->getAll("SELECT cat_id,cat_name FROM ".$GLOBALS['ecs']->table('category')." WHERE parent_id=".$cat_id);
//数据格式化
foreach($level_cat_info as $key=>$val){
if($self_id == $val['cat_id'])
{
$options .="<option selected='selected' value=".$val['cat_id'].">".$val['cat_name']."</option>";
}else
{
$options .="<option value=".$val['cat_id'].">".$val['cat_name']."</option>";
}
}
//数据保存
$result[$cat_id] = $options;
//下一个父类的数据
$parent_id = $GLOBALS['db']->getOne("SELECT parent_id FROM ".$GLOBALS['ecs']->table('category')." WHERE cat_id=".$cat_id);
$result = get_cat_parent($cat_id,$parent_id,$result);
}
return $result;
}
//2016-10-14 Donald 获取编辑时的分类联动
function edit_category_list($cat_id,$parent_id){
//获取子分类
$child = get_cat_child($cat_id);
//递归获取父类
$parent = get_cat_parent($cat_id,$parent_id);
$parent = array_reverse ($parent);//倒序数据数组
$arr['child'] = $child;
$arr['parent'] = $parent;
return $arr;
}
add:
$cat_list = get_cat_child(0);
$smarty->assign('cat_list', $cat_list);
edit:
$cat_parent_list = edit_category_list($cat_id, $parent_id);
$smarty->assign('cat_parent_list', $cat_parent_list);