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 ...
随机推荐
- Git链接到自己的Github(1)简单的开始
好长时间没上来弄东西了,今天回来先开始弄下Git,之后再继续写uboot与kernel的编译,在版本控制下更加宏观地观察每次的变化. 1.在ubuntu中安装git $ sudo apt-get in ...
- PAT 1009
1009. Product of Polynomials (25) This time, you are supposed to find A*B where A and B are two poly ...
- java_Cookie添加和删除
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, ...
- Encryption
Encryption Configuration Basic Usage Encrypting a value Decrypting a value Configuration Before usin ...
- IIS 之 失败请求跟踪规则
若想使用此功能需先启动如下图的Windows功能: 利用失败请求跟踪功能,可以在出现问题时捕获相应的XML格式的日志,从而无需重现该问题即可开始故障排除.此外,还可以定义应用程序的失败条件并配置要基于 ...
- python--列表的使用
1.定义列表: names = ['Mo',"Tenglan",'Eric'] 通过下标访问列表中的元素,下标从0开始计数 >>> names[0] 'Mo' & ...
- linux系统下搭建自己的web服务器
之前在windows 2008 server上搭建了一个用于测试的web服务器,但是在打开网站的时候特别的慢,尤其是图片的加载都会失败,当时以为是路径的问题,但是在服务器上自己打开都特别慢,自己实在找 ...
- [转]oracle的ANYDATA数据类型
本文转自:http://blog.csdn.net/yuzhenhuan01/article/details/6606106 ANYDATA数据类型是个有点奇特的类型,你可以把不同数据类型的数据通过转 ...
- Activiti源码浅析:Activity与Task
最近由于接触到Activiti工作流引擎,因此粗读了一下它的源码. 总结了一些内容如下,这些内容一般的doc上都是没有提及的. 1. model.Activity与model.Task Activit ...
- Spring的servlet context和application context
Spring lets you define multiple contexts in a parent-child hierarchy. The applicationContext.xml def ...