xiamidong

对于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\']);  // 页面标题
清除缓存大攻造成!

分类:

技术点:

相关文章:

  • 2021-11-17
  • 2022-12-23
  • 2021-05-22
  • 2022-12-23
  • 2021-09-09
  • 2021-11-17
  • 2022-12-23
  • 2021-08-20
猜你喜欢
  • 2022-12-23
  • 2021-11-17
  • 2022-03-14
  • 2021-06-04
  • 2022-12-23
相关资源
相似解决方案