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


    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了~

    ------------------------------------------华丽丽的分割线--------------------- ------------------------------------

    源厂制造10-10000级洁净无尘车间防静电防尘用品!网址:http://www.lgfjd.com 微信号:614412
  • 相关阅读:
    MHA 代码解析(online swtich+master is alive 模式)
    数据库的原理
    mysql performance schema的即时诊断工具-邱伟胜
    javascript 引擎Rhino源代码分析 浅析 实例函数对象及this
    perl dtrace2
    perl指针引用
    操作系统像还原 -BOOK
    [JavaScript]'this'详解
    功能丰富的 Perl:轻松调试 Perl
    PHP内核探索
  • 原文地址:https://www.cnblogs.com/wangblognet/p/2864445.html
Copyright © 2020-2023  润新知