我想在ECSHOP后台自定义每个商品详情页的TITLE, 该如何来实现呢??(听说这样会对SEO更有利)
下面就来讲一讲具体的修改方法:
注:以下教程是在“未进行过任何修改的 ecshop2.7.3 代码 + 官方默认模板” 基础上讲解的。
第1步: 修改数据库结构,其实就是增加个字段
进入 后台 》数据库管理 》SQL查询 ,
在输入框里输入下面SQL语句,并点击“提交查询”
ALTER TABLE `ecs_goods` ADD `goods_title` VARCHAR( 1NULL'' AFTER `goods_name`
第2步:
修改后台模板文件 /admin/templates/goods_info.htm
找到 <table width="90%" id="general-table" align="center">
在它下面增加一行代码
<tr><td class="label">自定义商品页面TITLE</td><td><input type="text" name="goods_title" value="{$goods.goods_title|escape}" size="50" /></td></tr>
第3步:
修改后台程序文件 /admin/goods.php
找到
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " .
修改为(注意一共能搜到两处,每处都要修改)
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_title, goods_name_style, goods_sn, " .
继续找到 "VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
修改为(注意一共能搜到两处,每处都要修改) "VALUES ('$_POST[goods_name]','$_POST[goods_title]', '$goods_name_style', '$goods_sn', '$catgory_id', " .
继续搜索找到下面代码
"goods_name = '$_POST[goods_name]', " .
将它修改为
"goods_name = '$_POST[goods_name]', goods_title='$_POST[goods_title]'," .
第4步:
修改ECSHOP前台商品程序文件,
打开 /goods.php 文件
找到
$smarty->assign('page_title', $position['title']); // 页面标题
修改为
$page_title=!empty($goods['goods_title']) ? $goods['goods_title'] : $position['title'];
$smarty->assign('page_title', $page_title); // 页面标题
最后,别忘了到后台清除缓存。