ECShop商品详情页增加自定义Title的方法

修改数据库结构
1、进入后台:登录ECShop后台管理系统。
2、数据库管理:依次点击“数据库管理” > “SQL查询”。
3、执行SQL语句:在输入框中输入以下SQL语句并点击“提交查询”按钮:
```sql
ALTER TABLEecs_goods ADDgoods_title VARCHAR(150) NOT NULL;
```
修改后台模板文件
1、找到模板文件:打开admin/templates/goods_info.htm文件,最好使用EDITPLUS或其他文本编辑器。
2、添加自定义字段:在以下代码段的上方添加如下代码:
```html
<tr>
<td class="label">自定义TITLE:</td>
<td><input type="text" name="goods_title" value="{$goods_info.goods_title}" size="50"></td>
</tr>
```
修改后台程序文件
1、找到程序文件:打开admin/goods.php文件。
2、查找并修改代码:找到以下代码:
```php
$goods['cat_id'] = !empty($_POST['cat_id']) ? $_POST['cat_id'] : '';
```
在其后添加如下代码:
```php
$goods['goods_title'] = !empty($_POST['goods_title']) ? $_POST['goods_title'] : '';
```
修改前台程序文件
1、找到程序文件:打开goods.php文件。
2、查找并修改代码:找到以下代码:
```php
return $GLOBALS['db']->getRow('SELECT goods_id, goods_name, cat_id, goods_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('goods') . ' WHERE goods_id = ' . $id);
```
将其修改为:
```php
return $GLOBALS['db']->getRow('SELECT goods_id, goods_name, goods_title, cat_id, goods_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('goods') . ' WHERE goods_id = ' . $id);
```
3、继续修改代码:找到以下代码:
```php
$smarty->assign('page_title', $position['title']);
```
将其修改为:
```php
$smarty->assign('page_title', !empty($goods['goods_title']) ? $goods['goods_title'] : $position['title']);
```
测试和使用
1、进入后台:登录ECShop后台管理系统。
2、编辑商品:依次点击“商品管理” > “商品列表”,然后选择某个商品进行编辑。
3、设置自定义Title:在编辑页面中找到“自定义TITLE”输入框,填写所需的标题内容。
4、查看效果:保存并查看商品详情页,确认自定义标题是否正确显示。
相关问题与解答
1、Q: 如果自定义标题过长,是否会被截断?
A: 是的,如果自定义标题过长,可能会在搜索引擎结果页或浏览器标签页中被截断,建议将标题长度控制在60个字符以内,以确保其完整显示。
2、Q: 是否可以为不同商品分类设置不同的自定义标题格式?
A: 可以的,通过在数据库中为每个商品分类增加一个特定的字段,并在模板文件中根据这个字段动态生成不同的标题格式,即可实现这一功能,具体操作可以参考商品详情页自定义标题的方法,对商品分类表进行相应修改。