python seo cms_巧用帝国CMS系统变量提升网站用户体验 完善SEO优化

news/2024/7/7 15:30:37

使用帝国CMS的小伙伴们可能都会在帝国CMS手册里面看到一些自带的系统变量,举个例子,也是最近刚开始使用的一个系统变量即:$GLOBALS[navclassid]这个变量意思是当前栏目id,$GLOBALS[navclassid]--这个变量怎么使用?或者说对于网站的用户体验乃至网站的SEO优化能有多大的帮助?其实我也是最近才注意到这个系统变量,当时我是准备在做一个“紧固件在线商城”。

由于每种产品的规格较多,又想在一个页面列出所有规格产品,这应该算是一个列表页吧,如果当前页面调用几条与与之相关标准信息,应该也是不错的,例如:紧固件有一个标准“DIN933”,DIN933是一个栏目,栏目下面全部是DIN933的产品,访客查看该标准的产品,可能需要查阅DIN933标准、或者查阅DIN933相关行业信息、或者行情等等,对于网站的用户体验可能带来一定帮助,那如果我每一个栏目都这样调用可能有点费劲,那借助$GLOBALS[navclassid]这个帝国CMS系统函数来做就比较方便些,他可以直接调用出来当前栏目的相关信息。

开始的时候,我是直接使用“[!--bclass.id--]”或者“[!--class.name--]” 放在MYSQL写条件使用,不知道是不是我使用方法错误还是怎么滴,总是提示错误,要不就是空白,最终选择这个函数,发现使用起来非常的方便:

$randnum=1000;        //随机数量

$randids='';

$randdh='';

for($i=1;$i<=$randnum;$i++)

{

$randids.=$randdh.rand(1,1000);        //1为最小ID,100000为最大ID

$randdh=',';

} //以上是帝国CMS的随机调用的PHP代码,以下就是我们后面需要用到的

$sql= "select * from enewsclass where classid = '$GLOBALS[navclassid]'"; //MYSQL查询语句

$conn = mysql_query($sql);

$lanmu = mysql_fetch_assoc($conn);

?>

这样的话,我们如果要使用格式为:$lanmu[classname](依据官方:select * from phome_enewsclass where classid='$GLOBALS[navclassid]')OK到这里,$lanmu[classname],[栏目数据表phome_enewsclass内字段都可以直接使用,如果没错的话]

自己例子:

[e:loop={"select * from ecms_news where title like '%$lanmu[classname]%' and id in ($randids) ORDER BY id DESC LIMIT 1",1,24,1}]

<?=$bqr[title]?>=esub($bqr[smalltext],150)?>[更多]

[/e:loop]

这时候我前面说的那个例子:栏目名是一个关键词:DIN933(一种紧固件标准名),有时候我们还可以在改良以下:在这之前先做个小调查,我们给每一个栏目都会设置关键词么?还是就空在那里?我是空的!呵呵……

改良思路:再次运用类似帝国CMS关键词字段或者描述字段,在里面写的内容就是该栏目下的相关的关键词,中间用“|”隔开。

利用到MYSQL正则的”OR”即“REGEXP”,一会我去转一篇关于MYSQL正则文章,抛弃一些“数据库”之类的性能,目前暂时的管不了那么些,能用就行,数据量上来了在想性能问题。

上面的PHP代码放在头部或者底部,当然前提不要忘记开启程序的“源码支持”(官方查找或者帝国CMS官方手册),把$lanmu[classname]内的classname换成栏目表的“关键词”或者“描述”字段,然后我们在使用MYSQL调用信息,where条件即:title REGEXP ‘$lanmu[classpagekey]’,下面分享一个自己在用的:

[e:loop={"select * from dongluo_ecms_news where title REGEXP '$lanmu[classpagekey]' and classid = '12' and id in ($randids) ORDER BY id DESC LIMIT 3",3,24,0}]

=esub($bqr[title],36)?>

[/e:loop]

恩,到这里也差不多了,用在哪里?怎么使用?好好规划一下,下面效果截图(美工LOW的,见谅):

说明:模糊匹配三条相关标准、三条相关词条、三条相关信息以及一条精确匹配产品说明

来自Davids zhou博客原创文章请尊重作者:http://www.zongk.com/zongk/69.html转载请标注此链接


http://www.niftyadmin.cn/n/670903.html

相关文章

考察环境和配套设施 四招教你挑选二手房

http://house.online.sh.cn 2007-11-08 09:05:43 [来源]&#xff1a;21CN 【 浏览字号&#xff1a;大 中 小】 住房成为商品&#xff0c;“二手房”交易将成为整个房地产交易市场中最活跃的部分。目前&#xff0c;国家已开始加大促进二手房交易的力度&#xff0c;因此&#x…

Entity Framework 数据上下文的一些操作

using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace ModelFirst {class Program{static void Main(string[] args){DataModelContainer db new DataModelContainer();#region 关联实体插入数据库//创建一个309 创建学生放到数…

敏捷测试的团队构成

各自分离的功能小组会让敏捷团队更困难。持续的交流至关重要。团队成员需要互相亲密地工作&#xff0c;不管工作是通过虚拟环境还是在同一个地点完成。敏捷测试专家Lisa和Janet分享了敏捷测试团队的组织经验。 独立的质量保证团队 许多组织&#xff0c;不管大还是小&#xff0c…

采购订单模板_建筑模板成本只升不降,涨价势不可挡!

点击上面微信号关注我关注我哟☀ 点木通股东会员单位名企品鉴&#xff0c;全国木材模板库存资源发布&#xff0c;建筑木材模板价格行情每日更新。看建筑木材模板行情&#xff0c;就上点木通&#xff0c;点木通&#xff0c;一点就通&#xff01;以你为目标&#xff0c; 跟着你的…

EasyARM i.mx287学习笔记——minicom配置和使用

0 前言在windows中有很多串口调试软件&#xff0c;例如putty。而ubuntu中也有很多串口调试软件&#xff0c;其中最简单实用的便是minicom了。本文说明虚拟机中如何使用minicom进行串口调试&#xff0c;具体内容包括虚拟机中载入USB设备&#xff0c;查看USB设备是否存在&#xf…

同步协议解析

SyncML协议解析 参考文档和说明[1] http://www.open-open.com/doc/view/513f6ff6c14a416c993af6703b827fc8 [2] http://technical.openmobilealliance.org/tech/affiliates/syncml/syncmlindex.html [3] http://xml.coverpages.org/syncML.html 转载于:https://www.cnblogs.com…

EasyARM i.mx287学习笔记——通过modbus tcp控制GPIO

0 前言本文使用freemodbus协议栈&#xff0c;在EasyARM i.mx287上实现了modbus tcp从机。在该从机中定义了线圈寄存器&#xff0c;其中线圈寄存器地址较低的4位和EasyARM的P2.4至P2.5关联&#xff0c;通过modbus指令可控制GPIO的输出。本文修改自freemodbus 示例LINUXTCP&#…

python压缩算法_图文详解LZ77压缩算法编码Python实现原理

前言LZ77算法是无损压缩算法&#xff0c;由以色列人Abraham Lempel发表于1977年。LZ77是典型的基于字典的压缩算法&#xff0c;现在很多压缩技术都是基于LZ77。鉴于其在数据压缩领域的地位&#xff0c;本文将结合图片和源码详细介绍其原理。首先介绍几个专业术语。1.lookahead …