关于ECshop后台添加商品的导航增添一个规格参数

2016-09-11 20:39 来源:www.chinab4c.com 作者:ecshop专家


功能描述:点击后台左侧菜单添加新商品,在管理中心显示的导航中添加一项规格参数,然后在商品详情页将其显示出来,需要用到的文件:admin/goods.php,admin/includes/lib_main.php,admin/templates /goods_info.htm,languages/zh_cn/admin/goods.php,thems/相应模版/goods.dwt,具体操作步骤如下:

   1.在languages/zh_cn/admin/goods.php里面增加一行代码$_LANG['tab_info']  ='规格参数';这是设置显示后台管理栏目中的名称的显示的。

    2.在admin/templates/goods_info.html(后台添加商品功能页面)中添加{$lang.tab_info}这里面的info-tab应该和上面的$_LANG['tab_info']的名称保持一致。然后找到商品信息的显示位置,我不知道默认的模版的代码是什么样的,我是在别人二次开发的基础上继续改进的,着实费了很多功夫,不过经过不断的思考,最终还是弄好了,找到这些代码:

  <!--商品信息 -->
       <table width="90%" id="detail-table" style="display:none">
     <tr>
      <td class="label">商品详情页是否个性页面显示:</td>
      <td>
       <input type="radio" name="show_mode" value="1" {if $goods.show_mode neq 0} checked="true"{/if}/> {$lang.yes}
       <input type="radio" name="show_mode" value="0" {if $goods.show_mode eq 0} checked="true"{/if} /> {$lang.no}
      </td>
     </tr>
          <tr>
            <td colspan="2">{$FCKeditor}</td>
          </tr>
        </table>

只需要将红色部分改成刚才设置的名称即可,改为id="infoma-table"。不过还得改一个地方,将绿色标注的部分改为$FCKeditor2.具体原因下面再解释,本文按照打开文件顺序。

3.打开admin/includes/lib_main.php,找到function create_html_editor($input_name, $input_value = '')改为function create_html_editor($input_name, $input_value = '',$fckid=0),继续往下找$smarty->assign('FCKeditor', $FCKeditor);将这句cut掉,然后换成if ($fckid)
     {
       $smarty->assign('FCKeditor'.$fckid, $FCKeditor);
     }
    else
     {
      $smarty->assign('FCKeditor', $FCKeditor);
     }
4. 打开admin/goods.php,这里需要改动的地方比较多,找到create_html_editor('goods_desc', $goods['goods_desc']);在后面加上一句create_html_editor('goods_info', $goods['goods_info'],2);这里设置的是2 ,所以步骤2的绿色部分得和这保持一致。继续往下找,找到"goods_desc = '$_POST[goods_desc]', " .添加一句"goods_info = '$_POST[goods_info]', " 

 5.最后还需要修改现在所themes/模版/goods.dwt文件,在合适的位置将刚添加的导航栏的内容显示出来,可以用这句:. {$goods.goods_info}。如果想改变商品详情页显示的样式,还需要修改style.css里面的代码。

别忘了在数据库里面增加一个字段goods_info,类型设置为text。在后台清下缓存,ok,在运行下,看看商品详情页,是不是有变化了。

    其实只要弄懂这几个文件之间的关系就完全可以自己控制后台的菜单或者导航了.languages/admin/common.php和后台admin /includes/inc_menu.php,common.php里面写的是左侧的菜单,inc_nemu.php里面写的是地址,如果需要看权限的话,就要看这个目录下的inc_priv和languages/priv_action这两个是用来控制权限的其中inc_priv里面是存放的动作,这个动作是下载数据表admin_action里面的,而priv_action则是对应的名字,这一块是用来控制后台给管理员分配权限的。