对于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. spring源码分析之spring-messaging模块详解

    0 概述 spring-messaging模块为集成messaging api和消息协议提供支持. 其代码结构为: 其中base定义了消息Message(MessageHeader和body).消息处 ...

  2. iOS:插件制作入门

    本文将介绍创建一个Xcode4插件所需要的基本步骤以及一些常用的方法.请注意为Xcode创建插件并没有任何的官方支持,因此本文所描述的方法和提供的信息可能会随Apple在Xcode上做的变化而失效.另 ...

  3. SingletonBeanRegistry

    // 给定一个存在的object对象,该Registry将它存储为一个单例的根据给定的beanName(给定的object已经完全初始化完成,在访问Registry的单例object时应该是同步的)v ...

  4. 如何用拉姆达表达式(Lambda Expressions) 书写左链接查询

    在C#中,如果要实现两个列表的左链接查询,我们的一般用法就是用的linq表达式就是 List<Pet> pets = }, }, } }; List<Pet2> pets2 = ...

  5. Umbraco入门(一)--在VS中安装Umbraco

    在VS中安装Umbraco 由于Vs中自己集成的IIS,所以在安装Umbraco是不用再想以前那么麻烦,需要设置IIS等等…… 使用VS的NuGet程序包管理器   创建一个用空的ASP Web应用程 ...

  6. 未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序

    .NET:Microsoft Visual Studio 2010 + .NET Framework 3.5 操作系统:windows2008 R2 64 位操作系统 oracle数据库:32位的OD ...

  7. Kafka消息模型

    一.消息传递模型 传统的消息队列最少提供两种消息模型,一种P2P,一种PUB/SUB,而Kafka并没有这么做,巧妙的,它提供了一个消费者组的概念,一个消息可以被多个消费者组消费,但是只能被一个消费者 ...

  8. 核心概念 —— 服务容器

    1.简介 Laravel 服务容器是一个用于管理类依赖和执行依赖注入的强大工具.依赖注入听上去很花哨,其实质是通过构造函数或者某些情况下通过 set 方法将类依赖注入到类中. 让我们看一个简单的例子: ...

  9. 学习ajax 总结

    一.服务器客户端基础知识 通信是指不同计算机程序的通信,单单通过ip地址就能知道你找的是哪一台计算机,但是不知道是计算机上的哪个应用程序,要想知道是哪个程序就必须通过端口.这时候就可以问端口到底是什么 ...

  10. C#中参数传递【转】

    转自[Learning hard] 建议参考 『第十一回:参数之惑---传递的艺术(上)』 一.引言 对于一些初学者(包括工作几年的人在内)来说,有时候对于方法之间的参数传递的问题感觉比较困惑的,因为 ...