ECshop网点程序优化-自动生成类目页Keywords、Desciption Meta
ECshop支持针对每个新建的类目自定义Keywords、Description Meta信息,好处就不用说了,帮助SEO或者让浏览者了解这是什么页面,但如果有几百个类目的时候,人工去写这些类目又有点累人(咱不干体力劳动的 活),花了点时间,写了个自动生成Keywords、Description的PHP脚本,支持四级分类,原理是子类目包含爸爸类目、爷爷类目。。。到顶 级类目名作为关键词,然后一句描述的话,包含这些类目的名称。大家可以根据自己需要简单的修改。
用法,在你的后台类目,默认是Admin里面创建一个新的PHP文件,文件名自定义,将下面的代码复制进去就可以了,需要生成的时候,访问一下这个文件就自动生成了。
<?php
set_time_limit(600); define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); $sql_1 = "SELECT cat_id,cat_name FROM " .$ecs->table('category'). " where parent_id = 0 ORDER BY cat_id asc";
$res_1 = $db->query($sql_1); //一级类目循环
while ($row_1 = $db->fetchRow($res_1))
{ //取得一级类目子类目
$sql_2 = "SELECT cat_id,cat_name FROM " .$ecs->table('category'). " where parent_id = ". $row_1['cat_id'] ." ORDER BY cat_id asc";
$res_2 = $db->query($sql_2);
print "*** 一级分类:" . $row_1['cat_name'] ."<br>"; //一级类目子类目循环
$keyword_1 = '';
$c2 = 0;
while ($row_2 = $db->fetchRow($res_2))
{
$c2 = $c2 + 1;
if ($c2 < 7)
{
//生成一级类目的关键词和描述,取前X个
$keyword_1 = $keyword_1 . replace_cat_name($row_2['cat_name']) . ", ";
} //=====================================================================
//取得二级类目子类目
$sql_3 = "SELECT cat_id,cat_name FROM " .$ecs->table('category'). " where parent_id = ". $row_2['cat_id'] ." ORDER BY cat_id asc";
$res_3 = $db->query($sql_3);
print "****** 二级分类:" . $row_2['cat_name'] ."<br>"; //二级类目子类目循环
$keyword_2 = '';
$c3 = 0;
while ($row_3 = $db->fetchRow($res_3))
{ $c3 = $c3 + 1;
if ($c3 < 7)
{
//生成二级类目的关键词和描述
$keyword_2 = $keyword_2 . replace_cat_name($row_3['cat_name']) . ", ";
} //=====================================================================
//取得三级类目子类目
$sql_4 = "SELECT cat_id,cat_name FROM " .$ecs->table('category'). " where parent_id = ". $row_3['cat_id'] ." ORDER BY cat_id asc";
$res_4 = $db->query($sql_4);
print "********* 三级分类:" . $row_3['cat_name'] ."<br>"; //三级类目子类目循环
$keyword_3 = '';
$c4 = 0;
while ($row_4 = $db->fetchRow($res_4))
{ $c4 = $c4 + 1;
if ($c4 < 7)
{
//生成三级类目的关键词和描述
$keyword_3 = $keyword_3 . replace_cat_name($row_4['cat_name']) . ", ";
} //直接写三级类目的值
print "************ 四级分类:" . $row_4['cat_name'] ."<br>";
$cat_name_4_str = replace_cat_name($row_4['cat_name']);
$keyword_4_str = $cat_name_4_str . " Products, Online Shopping, Taobao Agent, Taobao Dropship";
$desc_4_str = "Online shopping ". $cat_name_4_str ." Products from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!"; $db->query("UPDATE " .$ecs->table('category'). " SET keywords ='". $keyword_4_str ."', cat_desc ='". $desc_4_str ."' WHERE cat_id =". $row_4['cat_id'] .""); } //对三级类目字符串进行处理更新
$cat_name_3_str = replace_cat_name($row_3['cat_name']); if (substr($keyword_3,-2) == ', ')
{
$keyword_3 = substr($keyword_3,0,strlen($keyword_3)-2);
} if ($keyword_3 == '')
{
$keyword_3_str = $cat_name_3_str . " Products";
$desc_3_str = "Online shopping ". $cat_name_3_str ." Products, Browse Through Our Category of ". $cat_name_3_str . " Products and more from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!";
}
else
{
$keyword_3_str = $cat_name_3_str . ", ". $keyword_3 . " Products";
$desc_3_str = "Online shopping ". $cat_name_3_str ." Products, Browse Through Our Categories of ". $keyword_3 . " Products and more from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!";
} $db->query("UPDATE " .$ecs->table('category'). " SET keywords ='". $keyword_3_str ."', cat_desc ='". $desc_3_str ."' WHERE cat_id =". $row_3['cat_id'] .""); }
//对二级类目字符串进行处理更新
$cat_name_2_str = replace_cat_name($row_2['cat_name']); if (substr($keyword_2,-2) == ', ')
{
$keyword_2 = substr($keyword_2,0,strlen($keyword_2)-2);
} if ($keyword_2 == '')
{
$keyword_2_str = $cat_name_2_str . " Products";
$desc_2_str = "Online shopping ". $cat_name_2_str ." Products, Browse Through Our Category of ". $cat_name_2_str . " Products and more from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!";
}
else
{
$keyword_2_str = $cat_name_2_str . ", ". $keyword_2 . " Products";
$desc_2_str = "Online shopping ". $cat_name_2_str ." Products, Browse Through Our Categories of ". $keyword_2 . " Products and more from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!";
} $db->query("UPDATE " .$ecs->table('category'). " SET keywords ='". $keyword_2_str ."', cat_desc ='". $desc_2_str ."' WHERE cat_id =". $row_2['cat_id'] .""); //=====================================================================
} //对一级类目字符串进行处理更新
$cat_name_1_str = replace_cat_name($row_1['cat_name']);
if (substr($keyword_1,-2) == ', ')
{
$keyword_1 = substr($keyword_1,0,strlen($keyword_1)-2);
} $keyword_1_str = $cat_name_1_str . ", ". $keyword_1 . " Products";
$desc_1_str = "Online shopping ". $cat_name_1_str ." Products, Browse Through Our Categories of ". $keyword_1 . " Products and more from ". $GLOBALS['_CFG']['shop_name'] .", Factory Price, Worldwide Shipping!"; $db->query("UPDATE " .$ecs->table('category'). " SET keywords ='". $keyword_1_str ."', cat_desc ='". $desc_1_str ."' WHERE cat_id =". $row_1['cat_id'] ."");
} function replace_cat_name($cate_name)
{
$str = str_replace(' ,',',',str_replace(' ',' ',str_replace(' &',', ',str_replace('&',', ',str_replace(' /','/',str_replace('/',', ',addslashes($cate_name)))))));
return $str;
}
?>
转载:http://blog.sina.com.cn/s/blog_70ea94110101h5dd.html
ECshop网点程序优化-自动生成类目页Keywords、Desciption Meta的更多相关文章
- ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order
		如果在ECshop后台批量添加过大量类目的人都能体会到是多么的不方便(这点还是要说一下ECshop的产品经理,细节上还是要多注意),每次添加都需要在几百个类目里面找到要添加的父类目也是一个麻烦事,比如 ... 
- VS2015建立一个完整的c++工程:头文件.h 源文件.cpp,自动生成类
		https://blog.csdn.net/weixin_40539125/article/details/81430801 打开VS2015 ,新建VS win32工程,前面步骤很简单,不再阐述 下 ... 
- SpringBoot整合MyBatis-Plus代码自动生成类
		在springboot的test测试类下创建 MpGenerator.java 配置 MpGenerator.java public class MpGenerator { @Test publ ... 
- 用Enterprise Architect从源码自动生成类图
		http://blog.csdn.net/zhouyong0/article/details/8281192 /*references:感谢资源分享者.info:简单记录如何通过工具从源码生成类图,便 ... 
- XML之自动生成类,添加,修改,删除类的属性
		1. class ClassHelperDemo { public static void Main() { #region 演示一:动态生成类. //生成一个类t. Type t = ClassHe ... 
- 如何使用IDEA自动生成类图
		然后再类里边按 Ctrl+Alt+U 然后就会生成类图,这个样子 然后怎样把生成的类图搞出来.当然是使用截图软件啦.微信上的截图软件和qq上的截图软件好像都不在阔以,你一点击截图按钮.生成的类图就会消 ... 
- 自己写的thinkphp自动生成类
		模型类:CqhModel.class.php <?php namespace Cqh\Model; use Think\Model; class CqhModel extends Model { ... 
- VS2017+WIN10自动生成类、接口的说明(修改类模板的方法)
		微软发布VS2017的时候,我第一时间离线一份专业版,安装到了自己的电脑上,开始体验,但是问题来了,在开发中建立类和接口的时候,说 明注释总要自己写一次,烦!~~于是还是像以前一样改IDE默认的类和接 ... 
- 如果公司里有上百个表要做触发器,如果手动写代码的话。很累,所以今天写了一个小程序,自动生成mysql的触发代码。
		<?php $dbname = 'test';//数据库 $tab1 = 'user'; //执行的表 $tab2 = 'user_bak'; //被触发的表 $conn = mysql_con ... 
随机推荐
- excel vba 打印设置(转)
			FROM: http://hi.baidu.com/kdlipm/blog/item/0897dd16ffc03e59f3de32ab.html PageSetup 函式就會記錄時, 設定的記錄三個部 ... 
- C# 之 SqlConnection 类
			一.常用属性 [1]ConnectionString 获取或设置用于打开 SQL Server 数据库的字符串. (重写 DbConnection.ConnectionString.) [2]Con ... 
- h5拖放-基础知识
			<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ... 
- 读取Log日志并打印到sdcard
			@SuppressLint("SimpleDateFormat") private static SimpleDateFormat sdf = new SimpleDateForm ... 
- 初识 Lucene
			Lucene是一个信息检索工具库,而不是一个完整的搜索程序 搜索程序 Lucene索引核心类 Lucene索引核心类: Document: 文档对象代表一些域(field)的集合 Field: 每个文 ... 
- Java中处理Linux信号量
			为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/5976361. ... 
- HTTP层 —— 验证
			1.简介 Laravel 提供了多种方法来验证应用输入数据.默认情况下,Laravel 的控制器基类使用ValidatesRequests trait,该trait提供了便利的方法通过各种功能强大的验 ... 
- JavaScript设计模式(一)
			使用JavaScript框架和库过程中, 我遇到过很多感觉上'奇形怪状'的代码. 大多数情况下, 按照惯例编写代码也能够写出很多出色的功能. 但是如果不从根本上理解它们实现的方法, 就没办法完全充分发 ... 
- Memcached 工作原理
			http://hzp.iteye.com/blog/1872664 Memcached处理的原子是每一个(key,value)对(以下简称kv对),key会通过一个hash算法转化成hash-key, ... 
- 理解Spark的RDD
			RDD是个抽象类,定义了诸如map().reduce()等方法,但实际上继承RDD的派生类一般只要实现两个方法: def getPartitions: Array[Partition] def com ... 
