ecshop:商品分类页和文章分类页添加自定义分类title,不填为空时默认为当前分类名称

时间:2024年01月31日

/

来源:网络

/

编辑:佚名

1.修改数据库:修改表:ecs_category
ALTER TABLE `ecs_category` ADD `cat_title` VARCHAR( 255 ) NOT NULL AFTER `cat_desc` ;
2.打开后台模板文件 admin/templates/category_info.htm
(1)查找第135行:
     <tr>
        <td class="label">{$lang.keywords}:</td>
        <td><input type="text" name="keywords" value='{$cat_info.keywords}' size="50">
        </td>
      </tr>
     在它上面增加
<tr>
<td>{$lang.SeoCategoryTitle}:</td>
<td>
<input type="text" name="cat_title" value='{$cat_info.cat_title}' size="50">
</td>
</tr>
(2)打开/languages/zh_cn/admin/category.php
 在代码最后加上:$_LANG['SeoCategoryTitle'] = '自定义Title';
(3)继续打开文件 admin/category.php, 查找下面代码:
$cat['cat_desc']     = !empty($_POST['cat_desc'])     ? $_POST['cat_desc']           : ”;
总共能找到两处:102行和261行,在每处的后边添加代码
$cat['cat_title']     = !empty($_POST['cat_title'])     ? $_POST['cat_title']           : ”;
3.下面来修改前台程序文件 /category.php
(1)找到416行:
return $GLOBALS['db']->getRow('SELECT cat_name, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('category') .
        " WHERE cat_id = '$cat_id'");
将之修改为
return $GLOBALS['db']->getRow('SELECT cat_name, cat_title, keywords, cat_desc, style, grade, filter_attr, parent_id FROM ' . $GLOBALS['ecs']->table('category') .
        " WHERE cat_id = '$cat_id'");
(2)继续找到331行
$smarty->assign('page_title',       $position['title']);
将之修改为
$page_title_dafault=$cat['cat_name'];
$page_title_info=$cat["cat_title"];
$smarty->assign('page_title',       ($cat['cat_title']=='') ? $page_title_dafault : $page_title_info);
+++++++++++++++++++++修改文章标题+++++++++++++++++++++++++++
1. 首先我们来修改数据库结构,给数据表 ecs_article_cat  增加一个字段 “page_title”
进入ECSHOP后台》数据库管理》SQL查询,输入下面SQL语句,并提交。这里要注意数据表前缀,我这里使用的是模板前缀ecs。
ALTER TABLE `ecs_article_cat` ADD `page_title` VARCHAR( 255 ) NOT NULL
2. 修改后台模板和程序
(1)打开  /admin/templates/articlecat_info.htm 找到
<tr>
    <td class="label">{$lang.sort_order}:</td>
在它前面增加如下的代码段
<tr>
    <td class="label">{$lang.SeoPageTitle}</td> <td>
      <input type="text" name="page_title" value="{$cat.page_title|escape}" size="50" />
    </td>
  </tr>
(2)打开/languages/zh_cn/admin/category.php
 在代码最后加上:$_LANG['SeoPageTitle'] = '自定义Title';
(3)接着打开 /admin/articlecat.php

$sql = "INSERT INTO ".$ecs->table('article_cat')."(cat_name, cat_type, cat_desc,keywords, parent_id, sort_order, show_in_nav)
           VALUES ('$_POST[cat_name]', '$cat_type',  '$_POST[cat_desc]','$_POST[keywords]', '$_POST[parent_id]', '$_POST[sort_order]', '$_POST[show_in_nav]')";
修改为
$sql = "INSERT INTO ".$ecs->table('article_cat')."(cat_name, cat_type, cat_desc,keywords, parent_id, sort_order, show_in_nav,page_title)
           VALUES ('$_POST[cat_name]', '$cat_type',  '$_POST[cat_desc]','$_POST[keywords]', '$_POST[parent_id]', '$_POST[sort_order]', '$_POST[show_in_nav]','$POST[page_title]')";
继续,将
$sql = "SELECT cat_id, cat_name, cat_type, cat_desc, show_in_nav, keywords, parent_id,sort_order FROM ".
           $ecs->table('article_cat'). " WHERE cat_id='$_REQUEST[id]'";
修改为
$sql = "SELECT cat_id, cat_name, cat_type, cat_desc, show_in_nav, keywords, parent_id,sort_order,page_title FROM ".
           $ecs->table('article_cat'). " WHERE cat_id='$_REQUEST[id]'";
继续向下将
if ($exc->edit("cat_name = '$_POST[cat_name]', cat_desc ='$_POST[cat_desc]', keywords='$_POST[keywords]',parent_id = '$_POST[parent_id]', cat_type='$cat_type',
sort_order='$_POST[sort_order]', show_in_nav = '$_POST[show_in_nav]'",  $_POST['id']))
修改为
if ($exc->edit("cat_name = '$_POST[cat_name]', cat_desc ='$_POST[cat_desc]', keywords='$_POST[keywords]',parent_id = '$_POST[parent_id]', cat_type='$cat_type',
sort_order='$_POST[sort_order]', show_in_nav = '$_POST[show_in_nav]',page_title='$_POST[page_title]'",  $_POST['id']))
3.修改文章列表页前台程序
打开 article_cat.php 文件
找到84行
$meta = $db->getRow("SELECT keywords, cat_desc,cat_name FROM " . $ecs->table('article_cat') . " WHERE cat_id = '$cat_id'");
修改为:
$meta = $db->getRow("SELECT keywords, cat_desc,cat_name,page_title FROM " . $ecs->table('article_cat') . " WHERE cat_id = '$cat_id'");
找到93行
$smarty->assign('keywords',    htmlspecialchars($meta['keywords']));
在它下面增加一行代码
$cat_title_dafault=htmlspecialchars($meta['cat_name']);
$cat_title_info=htmlspecialchars($meta['page_title']);
$smarty->assign('page_title',    ($meta['page_title']=='') ? $cat_title_dafault : $cat_title_info);
这样就OK了~
猜你需要

豫ICP备2021026617号-1  豫公网安备:41172602000185   Copyright © 2021-2028 www.78moban.com/ All Rights Reserved

本站作品均来自互联网,转载目的在于传递更多信息,并不代表本站赞同其观点和对其真实性负责。如有侵犯您的版权,请联系 1565229909#qq.com(把#改成@),我们将立即处理。