首页 > 代码库 > ecshop如何增加多个产品详细描述的编辑器

ecshop如何增加多个产品详细描述的编辑器

在做商产品详情的时候,经常会有选项卡类似的几个产品说明,如:商品详情,商品规格,参数列表,售后服务等。
Ecshop后台里面默认只有一个编辑框(器),那么我们还得自己添加几个,以下是ecshop如何增加产品描述编辑器个数的步骤:
1)在数据库的表esc_goods里增加二个text的字段用来存储新增的二个编辑框的内容,
如:goods_desc2,goods_desc3(可以用phpmyadmin)
 
2)修改生成编辑器的函数 找到 /admin/includes/lib_main.php 文件

function create_html_editor($input_name, $input_value = http://www.mamicode.com/‘‘)
修改为
function create_html_editor($input_name, $input_value = http://www.mamicode.com/‘‘,$fckid=0)
继续向下找到
$smarty->assign(‘FCKeditor‘, $FCKeditor);
将它修改为
if ($fckid)
{
  $smarty->assign(‘FCKeditor‘.$fckid, $FCKeditor);
}
else
{
  $smarty->assign(‘FCKeditor‘, $FCKeditor);
}
3)接下来要修改后台商品处理页 /admin/goods.php 文件
找到 create_html_editor(‘goods_desc‘, $goods[‘goods_desc‘]);
在它下面另添加2行
create_html_editor(‘goods_desc2‘, $goods[‘goods_desc2‘],2);
create_html_editor(‘goods_desc3‘, $goods[‘goods_desc3‘],3);
 
4)最后修改一下对应的后台显示文件 /admin/templates/goods_info.htm
找到下面这些代码
<table width="90%" id="detail-table" style="display:none">
  <tr>
    <td>{$FCKeditor}</td>
  </tr>
</table>
在下面复制粘贴2个并把(包括原来一个)这三个表格代码修改为
<table width="90%" id="detail-table" style="display:none">
  <tr>
    <td width="80" align="right">商品详情:</td>
    <td>{$FCKeditor}</td>
  </tr>
</table>
<table width="90%" id="desc2-table" style="display:none">
  <tr>
    <td width="80" align="right">售后服务:</td>
    <td>{$FCKeditor2}</td>
  </tr>
</table>
<table width="90%" id="desc3-table" style="display:none">
  <tr>
    <td width="80" align="right">买家必读:</td>
    <td>{$FCKeditor3}</td>
  </tr>

</table>

修改顶部的导航:
找到<span class="tab-back" id="detail-tab">{$lang.tab_detail}</span>
后面加入
<span class="tab-back" id="desc2-tab">desc2</span>
<span class="tab-back" id="desc3-tab">desc3</span>

5)最后修改内容存储进数据库的文件,打开 /admin/goods.php
1> 找到如下代码:
$sql = "INSERT INTO " . $ecs->table(‘goods‘) . " (goods_name,goods_model, 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_home, is_on_sale, is_alone_sale, is_shipping, goods_desc
在后面加上 ,goods_desc2 ,goods_desc3  即如下代码 $sql = "INSERT INTO " . $ecs->table(‘goods‘) . " (goods_name,goods_model, 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_home, is_on_sale, is_alone_sale, is_shipping, goods_desc,goods_desc2 ,goods_desc3
在下面几行,同理找到
"VALUES (‘$_POST[goods_name]‘,‘$_POST[goods_model]‘, ‘$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_home‘, ‘$is_on_sale‘, ‘$is_alone_sale‘, $is_shipping, ".
" ‘$_POST[goods_desc]‘, ‘" . gmtime() . "‘, ‘". gmtime() ."‘, ‘$goods_type‘, ‘$rank_integral‘, ‘$suppliers_id‘)"
改为: "VALUES (‘$_POST[goods_name]‘,‘$_POST[goods_model]‘, ‘$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_home‘, ‘$is_on_sale‘, ‘$is_alone_sale‘, $is_shipping, ".
" ‘$_POST[goods_desc]‘, ‘$_POST[goods_desc2]‘, ‘$_POST[goods_desc3]‘, ‘" . gmtime() . "‘, ‘". gmtime() ."‘, ‘$goods_type‘, ‘$rank_integral‘, ‘$suppliers_id‘)"
同理,又下面几行
else
{
$sql =$sql = "INSERT INTO. $ecs->table(‘goods‘)
这一段中,作上面相同修改如下: $sql = "INSERT INTO " . $ecs->table(‘goods‘) . " (goods_name,goods_model, 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_home, is_real, " .
"is_on_sale, is_alone_sale, is_shipping, goods_desc, goods_desc2, goods_desc3, add_time, last_update, goods_type, extension_code, rank_integral)" .
"VALUES (‘$_POST[goods_name]‘,‘$_POST[goods_model]‘, ‘$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_home‘, 0, ‘$is_on_sale‘, ‘$is_alone_sale‘, $is_shipping, ".
" ‘$_POST[goods_desc]‘, ‘$_POST[goods_desc2]‘, ‘$_POST[goods_desc3]‘, ‘" . gmtime() . "‘, ‘". gmtime() ."‘, ‘$goods_type‘, ‘$code‘, ‘$rank_integral‘)";
2 > 再往下几十行,找到"goods_desc = ‘$_POST[goods_desc]‘, " .在其下方再添加二行 ,改成如下 "goods_desc = ‘$_POST[goods_desc]‘, " .
"goods_desc2 = ‘$_POST[goods_desc2]‘, " .

"goods_desc3 = ‘$_POST[goods_desc3]‘, " .