刚仿了一个ecshop站,由于前台分类商品的展示的样式都不一样,如图:

所以是须要添加两个分类商品的,ECSHO默认的是没有的。现在就一步一步开始做:
第一步:找到\admin\templates\template_setup.htm 找到:{$lang.template_libs.cat_goods} 大概在40行左右 复制本段放到{foreach from=$cate_goods item=library key=lib_name}闭合标签下边(52行左右): [+] 分类下的商品二 {foreach from=$cate_goods2 item=library key=lib_name} [-] {/foreach} 接着在本文件中找到function addCatGoods(obj) 在这个函数闭合标签{}下边粘贴: /** * 增加一个分类的商品二 二次开发 */ function addCatGoods2(obj) { var rowId = rowindex(obj.parentNode.parentNode); var table = obj.parentNode.parentNode.parentNode.parentNode; var row = table.insertRow(rowId + 1); var cell = row.insertCell(-1); cell.innerHTML = '[-]'; cell.className = 'first-cell'; cell.align = 'right'; cell = row.insertCell(-1); cell.innerHTML = buildRegionSelect('regions[cat_goods2][]'); cell = row.insertCell(-1); cell.innerHTML = ''; cell = row.insertCell(-1); cell.innerHTML = ''; cell = row.insertCell(-1); cell.innerHTML = ''; cell = row.insertCell(-1); } 打开后台看一下效果:模板管理-〉设置模板-〉 刷新后台,可以看到效果: 
这说明后台模板文件添加成功,并且“分类下的商品二”前边的“+”可以正 常使用 第二步:打开\admin\template.php 找到: /* 对动态内容赋值 */ if ($val['lib'] == 'cat_goods') 在这个函数闭合标签下边粘贴: elseif ($val['lib'] == 'cat_goods2') { /* 分类二下的商品 二次开发 */ if (isset($db_dyna_libs[$val['region']][$val['library']]) && ($row = array_shift($db_dyna_libs[$val['region']][$val['library']]))) { $cate_goods2[] = array('region' => $val['region'], 'sort_order' => $val['sort_order'], 'number' => $row['number'], 'cats'=>cat_list(0, $row['id'])); } else { $cate_goods2[] = array('region' => $val['region'], 'sort_order' => $val['sort_order'], 'number'=>0, 'cats'=>cat_list(0)); } } 找到$smarty->assign('cate_goods', $cate_goods); 在下边粘贴: $smarty->assign('cate_goods2', $cate_goods2); //二次开发 找到: /* 分类的商品 */ if (isset($_POST['regions']['cat_goods'])) 在函数闭合标签下边粘贴: /* 分类的商品二 二次开发 */ if (isset($_POST['regions']['cat_goods2'])) { foreach ($_POST['regions']['cat_goods2'] AS $key => $val) { if ($_POST['categories']['cat_goods2'][$key] != '' && intval($_POST['categories']['cat_goods2'][$key]) > 0) { $sql = 'INSERT INTO ' .$ecs->table('template'). ' ('. 'theme, filename, region, library, sort_order, type, id, number'. ') VALUES ('. ''$curr_template', '. ''$_POST[template_file]', '' .$val. '', '/library/cat_goods2.lbi', '. ''' .$_POST['sort_order']['cat_goods2'][$key]. '', 1, '' .$_POST['categories']['cat_goods2'][$key]. '', '' .$_POST['number']['cat_goods2'][$key]. '''. ')'; $db->query($sql); } } } 接着找到: switch ($key) { case 'cat_goods': 在case break 后边粘贴: case 'cat_goods2': //二次开发 foreach ($val AS $k => $v) { if (intval($_POST['categories']['cat_goods2'][$k]) > 0) { $post_regions[] = array('region' => $v, 'type' => 1, 'number' => $_POST['number']['cat_goods2'][$k], 'library' => '/library/' .$key. '.lbi', 'sort_order' => $_POST['sort_order']['cat_goods2'][$k], 'id' => $_POST['categories']['cat_goods2'][$k]); } } break;
|