帝国仿站代码大全:由于之前那个网站的加载太慢了,加载的资源页挺多的,所以我也懒得去优化了,闲麻烦,所以干脆把代码什么的都搬到这个网站来,这样也方便大家一下。
这篇代码主要总结帝国仿站常用的代码已经调用。
站点名字: <?=$public_r['sitename']?>
站点链接: [!--news.url--]
列表页循环代码:
[!--empirenews.listtemp--]<!--list.var1-->[!--empirenews.listtemp--]
网站导航代码PHP:
<li class="<?=$GLOBALS[navclassid]?"":"current-menu-item"?>"><a href="[!--news.url--]">首页</a></li><?php $sql=$empire->query("select classid,sonclass,classname,islast,islist from {$dbtbpre}enewsclass where bclassid=0 and showclass=0 order by myorder,myorder asc"); while($s=$empire->fetch($sql)){ $classurl=sys_ReturnBqClassname($s,9); $tclass=""; $fr=explode('|',$class_r[$GLOBALS[navclassid]][featherclass]); $topbclassid=$fr[1]?$fr[1]:$GLOBALS[navclassid]; if($topbclassid==$s[classid]){ $tclass='current-menu-item'; } echo '<li class="'.$tclass.'" ><a href="'.$classurl.'">'.$s[classname].'</a>'; if($s[islast]==0){ $sql2=$empire->query("select classid,classname from {$dbtbpre}enewsclass where bclassid=$s[classid] and showclass=0 order by myorder,myorder asc"); $str=""; while($s2=$empire->fetch($sql2)){ $classurl2=sys_ReturnBqClassname($s2,9); $str.='<li><a href="'.$classurl2.'">'.$s2[classname].'</a></li>'; } echo '<ul class="sub-menu">'.$str.'</ul>'; } echo '</li>'; } ?>
这个代码是我仿站常用的,同时b站的仿站教程也是用的这个代码
如果你网站导航不需要亮尚以及展开二级栏目的效果,那么可以试试用标签生成,这个方法以后会出教程的。
网站友情链接灵动标签调用:
<ul>[e:loop={'select * from [!db.pre!]enewslink order by lid',20,24,0}] <li><a href="<?=$bqr[lurl]?>"><?=$bqr[lname]?></a></li> [/e:loop]</ul>
灵动标签的常用变量:
本文不在重复总结。点击下面链接即可查看
将所有支持灵动标签调用的字段收集归类
帝国CMS灵动标签:
[e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片,附加SQL条件,显示排序}]
模板代码内容
[/e:loop]
调用时间:
<?=date('m-d',$bqr[newstime])?>
标题:
<?=$bqr[title]?>
标题链接:
<?=$bqsr[classurl]?>
截取标题字数:
<?=esub($bqr[title],120)?>
栏目名字:
<?=$bqsr[classname]?>
栏目链接:
<?=$bqsr[classurl]?>
标题图片:
<?=$bqr[titlepic]?>
截取简介字数:
<?=esub($bqr[smalltext],120)?>
帝国仿站头底部调用:
网站底部调用:
[!--temp.footer--]
网站头部调用:
[!--temp.header--]
帝国仿站列表页的缩略图我已经整理成了一个栏目,需要的去看就是了,本文不在总结!
帝国内容随机调取(高效率版):
<?php $randnum=32; //随机数量 $randids=''; $randdh=''; for($i=1;$i<=$randnum;$i++) { $randids.=$randdh.rand(1,100); //1为最小ID,100000为最大ID $randdh=','; } ?> [e:loop={1,32,0,0,"id in ($randids)"}] <li> <a href="<?=$bqsr['titleurl']?>" title="<?=$bqr['title']?>"><?=$bqr['title']?></a> </li> [/e:loop]
帝国搜索页面支持动态PHP修改方法:
打开 /e/search/result/index.php 文件查找:
require("../../class/connect.php"); require("../../class/db_sql.php"); require("../../data/dbcache/class.php"); require("../../class/q_functions.php"); require "../".LoadLang("pub/fun.php");
修改成:
require('../../class/connect.php'); require('../../class/db_sql.php'); require('../../class/functions.php'); require('../../class/t_functions.php'); require('../../data/dbcache/class.php'); require "../".LoadLang("pub/fun.php");
接着查找:
//替换公共模板变量 $listtemp=$tempr[temptext];
在上面添加以下代码:
//页面支持标签 $tempr[temptext]=DtNewsBq('list'.$tempid,$tempr[temptext],0);
帝国cms获取当前栏目id的父栏目id父栏目名称的方法:
<?php if($class_r[$GLOBALS[navclassid]][bclassid]==0){ $classid=$GLOBALS['navclassid']; $classname=$class_r[$classid][classname]; }else{ $classid=$class_r[$GLOBALS[navclassid]][bclassid]; $classname=$class_r[$classid][classname]; } ?>
在模板中插入以上代码
如果当前栏目的父栏目id为0 就直接 获取当前栏目 id $GLOBALS['navclassid'];
帝国cms用sql批量替换内容字段值:
UPDATE phome_ecms_news_data_1 SET newstext=REPLACE(newstext,'原来','现在')
说明:phome_ecms_news_data_1为数据表名,可以改为任意数据表名,newstext为批量替换的字段。
以给批量替换添加限制条件,如:只替换栏目ID为1的正文newstext。可修改为:
update phome_ecms_news_data_1 set newstext=replace(newstext,'原来','现在') where classid = 1;
执行SQL语句位置:系统>备份与恢复数据>执行SQL语句
帝国cms 调用本栏目下的所有子栏目:
<?php if($class_r[$GLOBALS[navclassid]][bclassid]==0){ $classid=$GLOBALS['navclassid']; }else{ $classid=$class_r[$GLOBALS[navclassid]][bclassid]; } $ecms_bq_sql2=sys_ReturnEcmsLoopBq("select * from [!db.pre!]enewsclass where bclassid=$classid order by myorder limit 20",14,24,0); $bqno2=0; while($bqr2=$empire->fetch($ecms_bq_sql2)) { $bqsr2=sys_ReturnEcmsLoopStext($bqr2); $bqno2++; ?> <li class="nav-item"><a class="nav-link" href="<?=$public_r[newsurl]?><?=$bqr2[classpath]?>/"><?=sub($bqr2[classname],0,54,false)?></a></li> <?php } ?>
使用帝国CMS程序建设的网站,栏目列表页标题默认每个分页都是相同的,也就是说栏目列表第1页到最后一个分页,title标题是重复的,这样对网站优化会有一些不好的影响 。帝国列表页模板标签[!--pagetitle--]调用出来的是页码,添加第几页字样需要使用如下设置:
<title>[!--pagetitle--]-第[!--list.pageno--]页-<?=$public_r[sitename]?></title>
不过这样设置的结果是,首页也带有“第 页”字样,如何实现栏目第一页直接显示title-网站标题,其他页显示 title-第几页呢?方法如下:
打开文件/e/class/functions.php,找到代码行:
$string=str_replace('[!--list.pageno--]',($pagenum==1?'':$pagenum),$string);
大概在3038行。
修改为如下代码:
$string=str_replace('[!--list.pageno--]',($pagenum==1?'':'-第'.$pagenum.'页'),$string);
这里直接在代码中加入了“-”,栏目模板title设置为[!--pagetitle--][!--list.pageno--]
大家也可以根据自己的需求改为其他样式,如果要带小括号,代码如下:
$string=str_replace('[!--list.pageno--]',($pagenum==1?'':'(第'.$pagenum.'页)'),$string);
所有页面的关键词和描述调用代码:
<meta name="keywords" content="[!--pagekey--]" />
<meta name="description" content="[!--pagedes--]" />
帝国cms7.5用sql替换数据表里面的数据:UPDATE phome_ecms_news_data_1 SET newstext=REPLACE(newstext,'原来','现在')