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

时间: 2024-10-26 09:41:15

ECshop网点程序优化-自动生成类目页Keywords、Desciption Meta的相关文章

ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order

如果在ECshop后台批量添加过大量类目的人都能体会到是多么的不方便(这点还是要说一下ECshop的产品经理,细节上还是要多注意),每次添加都需要在几百个类目里面找到要添加的父类目也是一个麻烦事,比如我的 Tao Fashion 站,里面一共有400多个类目 每次添加一个新类目,即使是同一父类目下的,都需要从头再找一遍,非常不方便,设置类目的顺序的时候,也要自己记着这个父类目下已经添加几个了,记着下一个添加的时候+1,经常弄错. 咱是新人类,要用技术的办法解决这个问题,实现在Category L

用Enterprise Architect从源码自动生成类图

http://blog.csdn.net/zhouyong0/article/details/8281192 /*references:感谢资源分享者.info:简单记录如何通过工具从源码生成类图,便于分析代码结构,对源码阅读挺有用.*/ 看点开源代码学习下,本想找个代码查看方便点的工具,便于理清代码层次,结果发现了Enterprise Architect这一好工具,试用下来还挺方便的.功能上和Rational Rose大致是一类,用处很广,很多我都不懂,知道能画各种UML图,支持的源码语言类型

eclipse自动生成类图

怎么从java类自动转换成java类图,一直没搞成.于是,我在网上找了一款更强大的自动生成java类图的eclipse插件--ModelSpoon..这个兄弟很强大,只要把.java文件直接拖进去,它就能够直接生成java类图.非常好用. 2.安装和使用ModelSpoon功能:能将Eclipse中现有的java类生成类图一:什么是ModelGoon?它是一个Eclipse插件,用于基于UML图的模型设计,以及逆向工程(即从已有源代码生成类图).二:安装下载ModelGoon-4.4.1-sit

程序实现自动生成30道四则运算题目

课堂上老师要求我们做这样一个题目,题目要求是自动生成30道四则运算题目,要求除整数加减乘除外,还有真分数加减乘除.刚开始听到这个题目一头雾水,有点复杂,但仔细拆分这个题目不难发现,这个题目可以简化成三个小问题,分别是随机数自动生成两个数,自动生成符号,还有输出结果.对于随机数自动生成两个数可以简化为随机数生成整数,随机数生成真分数,生成真分数可以简化到随机数生成分子和分母.对于自动生成符号,也可以简化为随机数生成1,2,3,4,分别代表+,—,*,/,输出结果可以用一个for循化,实现输出30道

XML之自动生成类,添加,修改,删除类的属性

1. class ClassHelperDemo { public static void Main() { #region 演示一:动态生成类. //生成一个类t. Type t = ClassHelper.BuildType("MyClass"); #endregion #region 演示二:动态添加属性到类. //先定义两个属性. List<ClassHelper.CustPropertyInfo> lcpi = new List<ClassHelper.Cu

自动生成宣传单打印页--提高工作效率

公司每次搞促销活动都需要制作大量的单品宣传单页,如果靠美工手动去做,需要大量的时间,最近刚刚更新了公司商城首页,不是很忙,就琢磨着开发一个自动生成宣传单页的功能,于是所做就做,流程如下: 1.使用的是火狐浏览器的打印功能,其他浏览器并未测试,因为这是内部使用功能,亦无需兼容其他浏览器. 此处注意打印预览时将边距设为0,并选择打印背景(颜色和图片). 2.商城每个产品都有详情页,可以很容易获取到信息,于是我们要做的就是将这些信息排成我们需要打印出来的样式 首先是背景尺寸:1205*1730,这个尺

程序实现自动生成30道四则运算题目(2)

继上一次的任务后,本周老师又给自动出题系统提出了新的要求,我感觉我跟二柱子一样可怜,本次老师的要求是1.题目避免重复2.题目可以定制(数量/打印方式)3.可以控制一下参数 (1)是否有乘除法 (2)是否有括号(最多可以支持十个数参与运算)(3)数值范围(4)加减有无负数(5)除法有无余数 针对本次任务,我们逐个要求,逐个分析对于题目避免重复可以用建立字符串数组,进行字符串之间相互比较来解决,另外题目可以定制通过随机数生成题目数并带入循环解决,同时打印方式可以用文件输入输出流把数据存到文件里.对于

自己写的thinkphp自动生成类

CqhModel.class.php <?php namespace Cqh\Model; use Think\Model; class CqhModel extends Model { protected $trueTabelName; //对应数据库中的表名 protected $moduleName; //对应的模块名称 protected $tpName; //表对应的TP名 protected $fields; //所有字段信息 protected $tableComment; //表

eclipse插件自动生成类图

安装和使用AmaterasUML, 安装AmaterasUML前,需要先安装GEF.采用eclipse在线安装方式安装就好: 在window ==>preferences  ==>install/update ==> Available Software Sites, 搜索 GEF ,勾选第二个插件, 地址为 http://download.eclipse.org/tools/gef/updates/releases/ ,点击ok,安装完成. 安装好GEF后,安装AmaterasUML: