帝国CMS(初期笔记)
笔记 by ecms 2016-06-27 22:06:42 笔记   工具   插件   帝国CMS   
XML/HTML Code复制内容到剪贴板
  1. <meta name="copyright" content="© http://www.yoyo88.cn" />  

 

各模板调用页面标题,关键字,描述

首页一般用:

XML/HTML Code复制内容到剪贴板
  1. <title>[!--pagetitle--]</title>  
  2. <meta name="keywords" content="[!--pagekey--]" />  
  3. <meta name="description" content="[!--pagedes--]" />  

 

 列表页一般用:

PHP Code复制内容到剪贴板
  1. <?php  
  2. $shouye=$empire->fetch1('select sitekey,siteintro from '.$dbtbpre.'enewspublic order by id desc');  
  3. $sitekey=$shouye['sitekey'];  
  4. $siteintro=$shouye['siteintro'];  
  5. ?>
  6. <title>[!--class.name--] - <?=$public_r[sitename]?></title>  
  7. <meta name="keywords" content="<?=$sitekey?>" />  
  8. <meta name="description" content="<?=$siteintro?>" />  

 

内容页一般用:

PHP Code复制内容到剪贴板
  1. <?php  
  2. $shouye=$empire->fetch1('select sitekey,siteintro from '.$dbtbpre.'enewspublic order by id desc');  
  3. $sitekey=$shouye['sitekey'];  
  4. $siteintro=$shouye['siteintro'];  
  5. ?>
  6. <title>[!--pagetitle--] - [!--class.name--] - <?=$public_r[sitename]?></title>  
  7. <meta name="keywords" content="<?=$sitekey?>" />  
  8. <meta name="description" content="<?=esub(htmlspecialchars(strip_tags($navinfor[newstext])),160,'...')?>" />  

 

 语言包文件 用于中文版改成英文版的: e/data/language/gb/pub/fun.php 还有一个是改 如果您的浏览器没有自动跳转,请点击这里 修改在:e/message/index.php

 标题改为全拼的拼音

PHP Code复制内容到剪贴板
  1. <?php echo ReturnPinyinFun($navinfor['title']);?>   

 

 

 php截取函数

折叠PHP Code复制内容到剪贴板
  1. <?php    
  2.   //构造字符串    
  3.   $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";    
  4.   echo "原字符串:".$str;    
  5.     
  6.   //按各种方式进行截取    
  7.   $str1 = substr($str,5);    
  8.   echo "从第5个字符开始取至最后:".$str1;    
  9.     
  10.     
  11.   $str2 = substr($str,9,4);    
  12.   echo "从第9个字符开始取4个字符:".$str2;    
  13.     
  14.     
  15.   $str3 = substr($str,-5);    
  16.   echo "取倒数5个字符:".$str3;    
  17.     
  18.     
  19.   $str4 = substr($str,-8,4);    
  20.   echo "从倒数第8个字符开始向后取4个字符:".$str4;    
  21.     
  22.     
  23.   $str5 = substr($str,-8,-2);    
  24.   echo "从倒数第8个字符开始取到倒数第2个字符为止:".$str5;    
  25.     
  26.  ?>    

 

常用标签:

PHP Code复制内容到剪贴板
  1. [e:loop={栏目ID/专题ID,显示条数,操作类型,只显示有标题图片}]      
  2. 模板代码内容      
  3. [/e:loop]    
  4.   
  5. 按照标题的中文首字母进行排序  
  6. [e:loop={栏目ID/标题分类ID,显示条数,操作类型,只显示有标题图片,'附加SQL条件','convert(title USING gbk) COLLATE gbk_chinese_ci ASC'}][/e:loop]  
  7.   
  8.   
  9. [!--news.url--]                 网站地址      
  10.    
  11. <?=$public_r['newsurl']?>  
  12.       
  13. <?=$public_r[sitename]?>        网站名称      
  14.       
  15. <?=$bqr[title]?>                标题   
  16.      
  17. <?=$bqr[ftitle]?>               副标题  
  18.       
  19. <?=esub($bqr[title],字节数)?>    标题限字      
  20.       
  21. <?=$bqsr[titleurl]?>            链接      
  22.       
  23. <?=$bqr[smalltext]?>            简介      
  24.     
  25. <?=esub($bqr[smalltext],字节数)?>简介限字    
  26.       
  27. <?=$bqr[titlepic]?>             标题图片      
  28.       
  29. <?=format_datetime($bqr[newstime],'Y-m-d')?>时间      
  30.       
  31. <?=$bqr[onclick]?>              点击数      
  32.   
  33. <?=$bqr['bname']?>              栏目别名  
  34. <?=$class_r[$GLOBALS[navclassid]]['bname']?>列表模板栏目别名(如果不是终极栏目,就不显示别名了,而且别名默认全部为大写显示!)  
  35. 如果不是终级栏目就会出问题,可以通过ID查询别名  
  36. <?  
  37. $mc=$empire->fetch1("select * from {$dbtbpre}enewsclass where classid='$GLOBALS[navclassid]'");  
  38. ?>  
  39. 栏目别名:<?=$mc[bname]?>  
  40.   
  41.   
  42. 列表页调用栏目简介  
  43. <?php  
  44. $sql=$empire->fetch1("select intro from {$dbtbpre}enewsclass where classid='27'");   
  45. ?>  
  46. <?=$sql[intro]?>     
  47.   
  48. 内容模板用的栏目名称  
  49. 当前栏目名称:[!--class.name--]  
  50. 当前栏目链接:[!--class.url--]  
  51.   
  52. 列表模板下的list.var  
  53. 当前栏目名称:[!--this.classname--]  
  54. 当前栏目链接地址:[!--this.classlink--]  
  55.   
  56. 灵动标签调用:  
  57. 调用栏目名称 和 栏目链接  
  58. <a href="<?=sys_ReturnBqClassname($bqr,9)?>">[<?=$bqsr['classname']?>]</a>  
  59.   
  60.     
  61. [!--show.page--]                列表页分页导航(下拉式)   
  62. [!--show.listpage--]            列表页分页导航(列表式)  
  63.   
  64.   
  65. [ !--empirenews.page--]         内容页分页标签(去掉空格)    
  66. [ !--title.select--]            内容页分页导航(去掉空格)   
  67. [ !--page.url--]                内容页序号导航(去掉空格)   
  68.   
  69.   
  70. <?=$bqno?>                      序号,从1开始    
  71. [!--no--]                       序号    
  72. [!--num--]                      序号    
  73. [!--no.num--]                   list.var部分的序号  

 

 

 

 

友情链接更改代码地址: e/class/t_functions.php

灵动标签调用友情链接:

PHP Code复制内容到剪贴板
  1. [e:loop={'select * from [!db.pre!]enewslink where checked=1 and classid=0 order by lid',20,24,0}]  
  2. <li><a href="<?=$bqr[lurl]?>"><img src="<?=$bqr[lpic]?>" border="0"/><?=$bqr[lname]?></a></li>  
  3. [/e:loop]  

 

 帝国cms如何实现统计某个数据表里有多少文章

[totaldata]栏目ID,操作类型,时间范围[/totaldata]
栏目ID 也可写数据表名称

参数说明:
操作类型说明: 操作类型 内容
0 统计栏目数据
1 统计专题
2 统计数据表
时间范围:0为不限;1为今日;2为本月;3为本年
如果操作类型是“统计数据表”,栏目ID='数据表名'

PHP Code复制内容到剪贴板
  1. [totaldata]20,0,0[/totaldata]   

统计栏目数据 不限时间 ID为20 

 

PHP Code复制内容到剪贴板
  1. [totaldata]$GLOBALS[navclassid],0,0[/totaldata]  

 

当前栏目ID $GLOBALS[navclassid]
当前栏目名称 $class_r[$GLOBALS['navclassid']]['classname'];
当前栏目父栏目ID $class_r[$GLOBALS['navclassid']]['bclassid'];
当前栏目父栏目链接 动态地址:[!--news.url--]e/public/ClassUrl/?classid=[!--bclass.id--]
静态地址:
<?php
$cr['classid']=$class_r[$GLOBALS[navclassid]][bclassid];
$bclassurl=sys_ReturnBqClassname($cr,9);
echo $bclassurl;
?>
或者:
[!--news.url--] <?=$class_r[$bid]['classpath']?>
当前栏目别名 $class_r[$GLOBALS['navclassid']]['bname'];
$class_r[$bqr['classid']]['classname'];
当前栏目子栏目 $class_r[$GLOBALS['navclassid']]['sonclass'];
 当前栏目子判断是否为终级栏目  $class_r[$GLOBALS['navclassid']]['islast'];
 当前栏目是否有已审核信息  $GLOBALS['num']==0为没有信息
 帝国cms中引入php路径写法(例子是文件在根目录)  <?php include(ECMS_PATH."./bottom.php");?>
 排除置顶、头条、推荐等,sql附加条件  'istop=0 and isgood=0 and firsttitle=0'
 上上级栏目id:

$bbclassid就是上上级父栏目id

 <?php
$bclassid=$class_r[$GLOBALS[navclassid]][bclassid];
$bbclassid=$class_r[$bclassid][bclassid];
echo $bbclassid;
?>
 投稿、登陆、反馈、留言等之后跳转指定页面  <input type=hidden name=ecmsfrom value="返回页面地址">
 统计信息被收藏数:
<?=$favas?>就是这条信息的收藏数
 <?
$favas=$empire->gettotal("select count(*) as total from {$dbtbpre}enewsfava where id='$navinfor[id]' and classid='$GLOBALS[navclassid]'");
?>
 列表、结合项判断当前没有信息给出提示  <?
if($GLOBALS['num']=='0'){
?>
<p>对不起,暂时没有任何信息!</p>
<?
}else{
?>
[!--empirenews.listtemp--]<!--list.var1-->[!--empirenews.listtemp--]
<?
}
?>
 动态使用  网站名称:<?=$public_r['sitename']?>
网站地址:<?=$public_r['newsurl']?>
 帝国自身的时间转换函数  <?=format_datetime($bqr[newstime],'Y-m-d')?>
 判断内容是否有图片,没有图片则显示文中广告 有图片则不显示  <?php
$string=$navinfor['newstext'];//内容字段
$some="<img ";
$num=explode($some,$string);
if(count($num)>1){//判断内容中是否有图片
?>
[!--newstext--]
<?
}else{
?>
<div id="ad">我是广告</div>
[!--newstext--]
<?
}
?>
   
 截取加过滤标签:(例子)

 这里是针对反斜杠转义,加过滤

PHP Code复制内容到剪贴板
  1. <?=esub(htmlspecialchars(strip_tags($navinfor[newstext])),160)?>  
  2. <?=esub(str_replace(egetzy('rn'),'',$navinfor[smalltext]),120);?>  

前台发布的时候,写入数据库的字符可能会是:

 17414273-c143-45f1-8457-e8bf5b961aca.png

这种时候,需要对结果转义为正常的html
$zbf['saytext']=htmlspecialchars_decode($zbf['saytext']);

 灵动标签输出多行编辑器带换行的方法  <?=nl2br($bqr['smalltext']);?>
 栏目链接地址  $classurl=sys_ReturnBqClassUrl($class_r[$classid]);
$class_r是栏目缓存文件,一般require('../../data/dbcache/class.php');即可

例子:栏目ID为1的栏目连接地址
$classurl=sys_ReturnBqClassUrl($class_r[1]);
例子2:调用当前栏目的连接地址$classurl=sys_ReturnBqClassUrl($class_r[$GLOBALS['navclassid']]);
   
   

  

 

本文来自于:http://www.yoyo88.cn/note/note1/1.html

上一篇 返回列表
Powered by yoyo苏ICP备15045725号