我想在ECSHOP后台自定义每个商品详情页的TITLE, 该如何来实现呢??(听说这样会对SEO更有利)% z5 J7 l3 p6 r$ V* K$ k) _. b
9 q; f1 e" F# ]
下面就来讲一讲具体的修改方法:
S6 T9 r9 @$ G2 O3 L2 j3 p& @注:以下教程是在“未进行过任何修改的 ecshop2.7.2 代码 + 官方默认模板” 基础上讲解的。
) B8 F3 C. `: B
- k ~5 T+ i" T3 j& G, e第1步: 修改数据库结构,其实就是增加个字段
4 l& i5 }( X" s% F* `# ^8 Q7 ]
% Y; q; b* L: z2 I进入 后台 》数据库管理 》SQL查询 , / q5 w+ M" u I4 f5 m G: D
在输入框里输入下面SQL语句,并点击“提交查询”; D' {$ v+ ^& u, b6 L5 n" A9 V
ALTER TABLE `ecs_goods` ADD `goods_title` VARCHAR( 150 ) NOT NULL DEFAULT ''AFTER `goods_name` |
3 `0 c c7 x' V9 e, s h第2步:7 c0 D, b) F+ ?; ?1 K
修改后台模板文件 /admin/templates/goods_info.htm
) u& l! }% c* l7 d; T找到<table width="90%" id="general-table" align="center"> | ( T/ I. ^, n. Y; A
在它下面增加一行代码% q$ Q8 h& s1 }9 {% g
<tr><td class="label">自定义商品页面TITLE</td><td><input type="text" name="goods_title" value="{$goods.goods_title|escape}" size="50" /></td></tr> |
) }4 v1 b5 f2 _4 C2 }: @( q5 m 第3步:
8 K# w2 V8 E( c修改后台程序文件 /admin/goods.php
4 A( o ^2 }6 F* Y- X( @找到* u- U2 c, P( O# V% Q, W" \
$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_name_style, goods_sn, " . |
q# c! R1 ~$ C0 x$ p9 @修改为(注意一共能搜到两处,每处都要修改)
" A1 x1 u t& L$ y* O9 `- B+ ]$sql = "INSERT INTO " . $ecs->table('goods') . " (goods_name, goods_title, goods_name_style, goods_sn, " . | * L( ?" T, R6 G( y L2 [6 W8 s
5 q! p& S% d H1 T/ z- G
继续找到"VALUES ('$_POST[goods_name]', '$goods_name_style', '$goods_sn', '$catgory_id', " . | + Q- w; d0 }7 ]: J: }8 z: k
修改为(注意一共能搜到两处,每处都要修改)"VALUES ('$_POST[goods_name]','$_POST[goods_title]', '$goods_name_style', '$goods_sn', '$catgory_id', " . |
; ]8 r" p; z( \$ e5 T. k继续搜索找到下面代码
. |5 A. [4 p' l9 X9 X. X6 i6 z% U"goods_name = '$_POST[goods_name]', " . | # U2 R6 W$ \: J# |( w& M! a
将它修改为
: J2 m0 V$ ?* s: p P* f) C- |"goods_name = '$_POST[goods_name]', goods_title='$_POST[goods_title]'," . |
0 r! y* U) R) x8 ]- x第4步:3 W0 a. Z1 t9 W+ [
- B# ~1 X/ x2 j7 A- v3 D
修改ECSHOP前台商品程序文件,+ R2 N! ?( v$ R8 j
打开 /goods.php 文件6 b1 R0 U" R% H6 f8 Y8 o! D( J
找到 6 k# H2 {5 w! N3 H; D b: T" l' h
$smarty->assign('page_title', $position['title']); // 页面标题 |
3 X" x* W+ e: G. W$ T0 Z修改为
4 e& Y$ ^' p( f: r5 h$page_title=!empty($goods['goods_title']) ? $goods['goods_title'] : $position['title'];
# ^; `& h& `( f0 f i- a $smarty->assign('page_title', $page_title); // 页面标题 | ]1 H/ p/ h- ^, P! u
最后,别忘了到后台清除缓存。
- i5 P3 C# B8 E) A3 n |