对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦!

1、Ecshop商品分类页如何实现自定义Title
最近发现很多人都在寻求“如何自定义ECSHOP商品分类页(列表页)TITLE”的修改方法。下面提供一种二次开发教程。
第1步、
修改 ecs_category 数据表的结构,新加一个字段
 
进入 后台 》数据库管理》SQL查询,执行下面SQL语句
 
ALTER TABLE `ecs_category` ADD `cat_title` VARCHAR( 255 ) NOTNULLAFTER `cat_desc` ;
第2步、
 
打开后台模板文件 admin/templates/category_info.htm (最好使用EDITPLUS打开)
找到下面代码
 <tr>
        <td class="label">{$lang.keywords}:</td>
        <td><input type="text" name="keywords" value='{$cat_info.keywords}' size="50">
        </td>
      </tr>
 
在它上面增加
<tr>
        <td class="label">自定义TITLE:</td>
        <td>
         <input type="text" name="cat_title" value='{$cat_info.cat_title}' size="50">
        </td>
      </tr>
 
第3步、
继续打开文件 admin/category.php
 
查找下面代码 
$cat['cat_desc']     = !empty($_POST['cat_desc'])     ? $_POST['cat_desc']           : '';
 
总共能找到两处,在每处的后边添加代码
$cat['cat_title']     = !empty($_POST['cat_title'])     ? $_POST['cat_title']           : '';
第4步、
 
下面来修改前台程序文件 /category.php
 
找到
return
$GLOBALS['db']->getRow('SELECT cat_name, keywords, cat_desc, style,
grade, filter_attr, parent_id FROM ' .
$GLOBALS['ecs']->table('category') .
 
将之修改为
 return
$GLOBALS['db']->getRow('SELECT cat_name, cat_title, keywords,
cat_desc, style, grade, filter_attr, parent_id FROM ' .
$GLOBALS['ecs']->table('category') .
第5步、
继续找到
 
$smarty->assign('page_title',       $position['title']);
 
将之修改为
$smarty->assign(‘page_title’, $cat['cat_title'] ? $cat['cat_title'] : $position['title']);
有自定义内容则显示自定义内容。没有则显示默认的。
使用方法:进入 后台 》商品管理 》商品分类,编辑某个分类即可。
2、Ecshop文章分类列表页如何自定义Title
关于“商品列表页、商品详情页如何自定义TITLE”的文章教程都有了,唯独没有讲解“文章分类列表页如何自定义TITLE”的。
下面以 ecshop2.7.2 版本官方默认模板为基础进行一下讲解。
1)、首先我们来修改数据库结构,给数据表 ecs_article_cat  增加一个字段 “page_title”
进入ECSHOP后台 》数据库管理 》SQL查询,输入下面SQL语句,并提交。这里要注意数据表前缀,我这里使用的是默认前缀。
ALTER TABLE `ecs_article_cat` ADD `page_title` VARCHAR( 255 ) NOT NULL
2)、修改后台模板和程序
打开  /admin/templates/articlecat_info.htm 找到 
<tr>
    <td class="label">{$lang.sort_order}:</td>
 
在它前面增加如下的代码段
 
<tr>
    <td class="label">自定义TITLE:</td> <td>
      <input type="text" name="page_title" value="{$cat.page_title|escape}" size="50" />
    </td>
  </tr>
 
 
接着打开 /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 文件
找到
$meta = $db->getRow("SELECT keywords, cat_desc FROM " . $ecs->table('article_cat') . " WHERE cat_id = '$cat_id'");
修改为
$meta = $db->getRow("SELECT
keywords, cat_desc,page_title FROM " . $ecs->table('article_cat') . "
WHERE cat_id = '$cat_id'");
找到
$smarty->assign('keywords',    htmlspecialchars($meta['keywords']));
在它下面增加一行代码
$smarty->assign('page_title',    htmlspecialchars($meta['page_title']));
3、关于Ecshop品牌页如何自定义Title的方法
闲话少叙,下面就以2.7.2版官方默认模板为例讲解一下“在Ecshop品牌页如何自定义Title的方法”。 
1)、
第一步,修改数据库结构,在 ecs_brand 表里增加一个新字段 page_title
依次进入 后台 》数据库管理 》SQL查询,输入下面的SQL语句,并执行。
ALTER TABLE `ecs_brand` ADD `page_title` VARCHAR( 255 ) NOT NULL 
注意:我的数据库是用的默认前缀,请针对你的数据库前缀,自行修改。
2)、
第二步,修改模板文件 /admin/templates/brand_info.htm
<tr>
    <td class="label">{$lang.sort_order}</td>
    <td><input type="text" name="sort_order" maxlength="40" size="15" value="{$brand.sort_order}" /></td>
  </tr>
下面增加
<tr>
    <td class="label">自定义TITLE:</td>
    <td><input type="text" name="page_title"  size="60" value="{$brand.page_title}" /></td>
  </tr>
3)、
修改 /admin/brand.php 文件
找到(大概在88行左右)
$sql = "INSERT INTO ".$ecs->table('brand')."(brand_name, site_url, brand_desc, brand_logo, is_show, sort_order) ".
           "VALUES ('$_POST[brand_name]', '$site_url', '$_POST[brand_desc]', '$img_name', '$is_show', '$_POST[sort_order]')";
    $db->query($sql);
将它修改为
$sql = "INSERT INTO ".$ecs->table('brand')."(brand_name, site_url, brand_desc, brand_logo, is_show, sort_order,page_title) ".
           "VALUES
('$_POST[brand_name]', '$site_url', '$_POST[brand_desc]', '$img_name',
'$is_show', '$_POST[sort_order]'),'$_post[page_title]'";
    $db->query($sql);
继续找到(大概在113行左右)
 $sql = "SELECT brand_id, brand_name, site_url, brand_logo, brand_desc, brand_logo, is_show, sort_order ".
            "FROM " .$ecs->table('brand'). " WHERE brand_id='$_REQUEST[id]'";
    $brand = $db->GetRow($sql);
将之修改为
$sql = "SELECT brand_id, brand_name, site_url, brand_logo, brand_desc, brand_logo, is_show, sort_order,page_title ".
            "FROM " .$ecs->table('brand'). " WHERE brand_id='$_REQUEST[id]'";
    $brand = $db->GetRow($sql);
 
继续向下找到
/* 处理图片 */
    $img_name = basename($image->upload_image($_FILES['brand_logo'],'brandlogo'));
    $param = "brand_name =
'$_POST[brand_name]',  site_url='$site_url',
brand_desc='$_POST[brand_desc]', is_show='$is_show',
sort_order='$_POST[sort_order]' ";
将它修改成下面代码
/* 处理图片 */
    $img_name = basename($image->upload_image($_FILES['brand_logo'],'brandlogo'));
    $param = "brand_name =
'$_POST[brand_name]',  site_url='$site_url',
brand_desc='$_POST[brand_desc]', is_show='$is_show',
sort_order='$_POST[sort_order]',page_title='$_POST[page_title]' ";
4)、
修改前台程序文件 /brand.php 
$smarty->assign('page_title',     $position['title']);   // 页面标题
修改为 
$smarty->assign('page_title',     htmlspecialchars($brand_info['page_title']));   // 页面标题
5)、大功告成,可以看看效果了。
4、ECSHOP商品详细页自定义TITLE方法
修改教程牵涉到的修改文件
/admin/templates/goods_info.htm
/admin/goods.php
/goods.php
 
修改步骤:
1:后台运行sql语句,admin后台->左侧导航->数据库管理->SQL查询
运行下面的语句(只能运行一次,小心): 
alter table ecs_goods add seo_title text not null 
 
2:修改 admin/templates/goods_info.htm
在此文件的第44行后面,加上下面几行 
          <tr>
            <td class="label">自定义title</td>
       <td>
 
              <input type="text" name="seo_title" value="{$goods.seo_title}" size="30" />
 
            </td>
 
          </tr>
 
3:修改admin/goods.php
搜索“rank_integral”在SQL语句那里修改,
需要修改四处,在833行找到
  "is_on_sale, is_alone_sale,
is_shipping, goods_desc, add_time, last_update, goods_type,
rank_integral, seo_title,suppliers_id)" .
修改成
"is_on_sale, is_alone_sale,
is_shipping, goods_desc, add_time, last_update, goods_type,
rank_integral, seo_title,suppliers_id)" .
找到839行找到
    " '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral','$suppliers_id')";
修改成
  " '$_POST[goods_desc]', '" .
gmtime() . "', '". gmtime() ."', '$goods_type', '$rank_integral',
'$_POST[seo_title]','$suppliers_id')";
847行找到
"is_on_sale, is_alone_sale, is_shipping, goods_desc, add_time, last_update, goods_type, extension_code, rank_integral)" .
修改成
"is_on_sale, is_alone_sale,
is_shipping, goods_desc, add_time, last_update, goods_type,
extension_code, rank_integral,seo_title)" .
853行
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral')";
修改成
" '$_POST[goods_desc]', '" . gmtime() . "', '". gmtime() ."', '$goods_type', '$code', '$rank_integral','$_POST[seo_title]')";
搜索
"rank_integral = '$rank_integral', " .
在下方加代码
"seo_title='$_POST[seo_title]',".
4:修改根目录goods.php的第242行
搜索// 页面标题
把代码
$smarty->assign('page_title',          $position['title']);                    // 页面标题
替换成
$smarty->assign('page_title',         trim($goods['seo_title'])?$goods['seo_title']:$position['title']);  // 页面标题
清除缓存大攻造成!
转载:http://www.68ecshop.com/article-694.html

ecshop 全站自定义title标题的更多相关文章

  1. ECSHOP商城全站自定义TITLE标题设置

    对于SEO来说,能让标题自定义的将会大大增加SEO效果,提高独立商城的流量,今天小编就收集从网上弄来ecshop全站自定义代码,很全哦! 1.Ecshop商品分类页如何实现自定义Title 最近发现很 ...

  2. ECSHOP筛选属性修改title标题

    发现百度蜘蛛爬行网站时会爬行属性链接,而且会进行收录.可是ecshop系统制作的网站,在分类页点击属性筛选出产品时,网页title不会改变.这样就会造成大量title一样的页面,不利于优化.为此,在网 ...

  3. .NET微信自定义分享标题、缩略图、超链接及描述的设置方法

    前端Js引用: <script src="http://res.wx.qq.com/open/js/jweixin-1.0.0.js"></script> ...

  4. SEO 网站页面SEO优化之页面title标题优化

    在seo优化中,标题的优化占着举足轻重的地位,无论是从用户体验的角度出发,还是从搜索引擎的排名效果出发,title标题都是页面优化最最重要的因素.笔者总结了优化title标题应该注意的六个方面: ①. ...

  5. Android 自定义title样式

    requestWindowFeature(featrueId),它的功能是启用窗体的扩展特性.参数是Window类中定义的常量.一.枚举常量1.DEFAULT_FEATURES:系统默认状态,一般不需 ...

  6. React项目动态设置title标题

    在React搭建的SPA项目中页面的title是直接写在入口index.html中,当路由在切换不用页面时,title是不会动态变化的.那么怎么让title随着路由的切换动态变化呢?1.在定义路由时增 ...

  7. 自定义actionbar标题

    这是我自己封装的一个activity,主要作为所有Activity的基类,可以一键关掉所有的activity, 并共享一个自定义actionbar.直接切入主题吧. 第一步就是创建自定义标题的布局文件 ...

  8. Android 自定义title 之Action Bar

    Android 自定义title 之Action Bar 2014-06-29  飞鹰飞龙...  摘自 博客园  阅 10519  转 25 转藏到我的图书馆   微信分享:   Action Ba ...

  9. 【随笔】设置title标题图标为自定义图片

    第一步: 利用图标工具(有很多)制作图标文件(favicon.ico)上传到网站所在的服务器的根目录下,这个文件必须是16*16大小的图标文件. 第二步: 在<head></head ...

随机推荐

  1. 谈谈 Objective-C 链式语法的实现

    引言 对于 Objective-C 的语法,喜欢的人会觉得它是如此的优雅,代码可读性强,接近自然语言,开发者在调用大多数方法时不需要去查看注释或文档,通常只凭借方法名就可以大致知道这个方法的作用,可以 ...

  2. HTML 之 Web页面表单form中只有一个input的text元素,按回车默认提交

    WEB开发中,如果页面的 form 中只有一个input元素,在该input元素的输入框中按回车(注:此时并没有写对应的onkeydown等事件处理),则浏览器会默认提交表单,请看如下代码: < ...

  3. swift 中异常的处理方法

    swift 中什么时候需要处理异常,在调用系统某个方法的时,该方法最后有一个throws 说明该方法会抛出异常,如果一个方法抛出异常,那么需要对该异常进行处理 swift 异常处理提供了三种方法 方式 ...

  4. python(5)-os模块

    os.getcwd() 获取当前工作目录 os.chdir('dirname') 改变当前脚本的工作目录 os.curdir 返回当前目录名,即"." os.pardir 返回当前 ...

  5. 关于eclipse中删除多余的工作空间记录

    这个Eclipse是拷贝的别人的,前三个是别人在使用这个Eclipse的时候定义的路径,到我本地机器是多余的.如何删除这三个默认的工作空间路径. 这个路径的list是读取的Eclipse中的一个文件, ...

  6. extjs的调试方法

    1.使用extjs自带的测试工具 第一步:在ExtJS下载的资源包中,找到debug.js,将JS文件导入实际要运行的HTML或者JSP页面上 第二步:在有关JS文件代码中嵌入Ext.log('自定义 ...

  7. UITableView详解(转)

    首先.对UITableView进行讲解,下面有对它进行实际的应用 UITableView 显示大型内容的列表 单行,多列 垂直滚动,没有水平滚动 大量的数据集 性能强大,而且普遍存在于iPhone的应 ...

  8. Remote Desktop Connection Manager介绍

    Remote Desktop Connection Manager (RDCMan) 是微软Windows Live体验团队的主要开发者 Julian Burger开发的一个远程桌面管理工具.简称为R ...

  9. jFinal中报对应模型不存在的错误(The Table mapping of model: demo.User not exists)

    jFinal中报对应模型不存在的错误(The Table mapping of model: demo.User not exists) 贴出错误: java.lang.RuntimeExceptio ...

  10. OC12_自动释放池

    // // Dog.h // OC12_自动释放池 // // Created by zhangxueming on 15/6/18. // Copyright (c) 2015年 zhangxuem ...