Dayucms技术

dayucms帮助手册
更新时间:2014-11-07 10:04 阅读次数:

Dayucms标签的详细说明
-------------------------------------------------------------------------------------------------------------
SEO变量
{head['title']}               网站seo标题
{head['keyword']}             网站seo关键词
{head['description']}         网站seo描述
-------------------------------------------------------------------------------------------------------------
基础全局变量
第一类:系统预设变量
{$DAYU['site_url']}            网站网址、是网站域名+网站路径
{$DAYU['site_name']}           网站名称
{$DAYU['tlp_name']}            网站模版名称
{$DAYU['tlp_path']}            网站模版路径
{$DAYU['dayucms_path']}        网站路径,例如 /dayucms
{$DAYU['site_id']}             站点编号
{$DAYU['map']}                 地图精准坐标,如果需要加载地图:{loadmap($DAYU['map'])}
{$DAYU['icpno']}               网站备案号
{$DAYU['logo']}                网站logo
{$DAYU['copyright']}           网站版权代码
第二类:自定义全局变量
自定义全局变量,是通过后台,“网站配置-->添加变量”即可
自定义的全局变量调用均是{$DAYU['变量名称']}
普通变量
{loadmap(坐标)}                获取一个坐标的地图   
{$catid}                       栏目ID  这个实用于 内页(列表,文字展示,单页,频道首页)
{$id}                          ID编号,如果在列表页中调用则是,栏目id,如果在文章页中则是文章id
{$page}                        当前分页
{$dir_postion}                 当前位置
{$dir_catname}                 当前栏目名称,不推荐使用一般使用{catname($catid)}
---------------------------------------------------------------------------------------------------------------
dayucms函数:
dayucms的函数除了直接使用php函数以外,dayucms还写了写简单函数方便大家使用
{catname($catid)}                              获取栏目名称
{caturl($catid)}                               获取栏目地址
{catimage($catid)}                             获取栏目封面图片地址
get_pos($catid=0,$separator='')                获取当前位置$catid栏目id,$separator为分隔字符
{strtojpg($str,$width='100',$height='24')}      将文本转换成图片
{get_images($str)}                              获取一段文本中的所有图片
{getcururl()}                                   获取当前地址
{sub_string($string, $length, $dot='')}         字符截取函数,$string是要截取的字符串,$length是截取长度数
{string2array($str)}                            字符串转换成数组
{explorer_version()}                            获得浏览器的类型
{getparentid($catid)}                            获取一个栏目的父级id,如果catid为顶级栏目,那么返回的是0
{isfinalcatid($catid)}                           判断一个栏目是否为最终栏目
{ishaschildren($catid)}                          判断一个栏目是否有子栏目
{gettopparentid($catid)}                         获取一个栏目的顶级栏目id
{hotkeywords($type='hot',$num=10,$pre='',$next=' ')} 热门关键词的调用,$type可选:
hot            热门
counts         总数
weight         权重
{morefield($mores,$limit="4")}                  多字段的调用,返回数组,主要用于,多字段, 多图, 附件
{ip2area($ip)}                                  ip转化成地区
{catstatistics(栏目ID,$today)}                  栏目统计函数,当 $today=1时,显示今日发帖量,当 $today=0时,为全部信息量 
----------------------------------------------------------------------------------------------------------------------
其他自定义函数可以写到include/extends.func.php
{createthumb1($img,$thumb_width,$thumb_height,$ctype="1",$nopic="images/nophoto.gif")} 前台创建缩略图函数,
参数:
$img            图片地址,只能是本机图片
$thumb_width    缩略图宽度
$thumb_height   缩略图高度
$ctype          是否等比例缩放,1
{DateDiff($interval, $date1, $date2)}时间对比函数
$interval格式:
'w'  周
"d"  天
"h"  小时
"n"  分钟
"s"  秒
-----------------------------------------------------------------------------------------------------------------------
其他经常用到的php函数
strip_tags 过滤html函数 例如,要截取 内容中的全200个字符作为描述 {sub_string(strip_tags(field:content),200,'…')}
date函数 实际上是php的时间函数,例如:我们要获取文字的时间格式:{date('Y-m-d',field:updatetime)}  2013-12-03
格式:
d - 月中的天 (01-31)
m - 当前月,以数字计 (01-12)
Y - 当前的年(四位数)
H - 小时
i - 分钟
s - 秒
y-m-d H:i:s  13-12-03 11:20:31
其他函数可以翻阅php手册
dayucms常用标签
-----------------------------------------------------------------------------------------------------------------------
{tlp 文件名}  引用一个文件 比如  {tlp head}
{dayucms }  是前端转换成php运行
----------------------------------------------------------
category栏目、单页标签
{dayu:category}html模版{/dayu:category}
参数
'id'='0'             调用id,      可选
'catid'='0'          调用栏目ID   可选,一般内页做相关分类的时候需要用到
'offset'='0'         从第几条开始调用
'parentid'='0'       父级栏目id
'row'='0'            调用数目,条数
'mod'='1,2,4'        模型类型,1文字,2单页,3,系统,比如会员等,4外部连接
'nav'='0'            栏目显示位置,0表示所有,1为顶部栏目,2主导航栏目,3为底部栏目,分组根据后台行设置,
'type'=''            调用类型 top 顶级分类,self同级分类,son子级分类
示例代码
{dayucms $pid=gettopparentid($catid);}
{if $pid==0}
{dayucms $pid=$catid;}
{/if}
<li {if iset($catid) || $catid==0 }class="active"{/if}><a href="{$DAYU['site_url']}">首页</a></li>
{dayu:category  mod="1,2,4"  nav="2" type="top"}
<li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a>
              {if ishaschildren(field:id)}
  <ul>
   {dayu:category parentid="field:id" mod="1,2,4" nav="2" type="son"}
                                       <li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a>
{if ishaschildren(field:id)}
  <ul>
 {dayu:category parentid="field:id" mod="1,2,4" nav="2" type="son"}
                <li {if field:id==$pid || field:id==gettopparentid($pid) }class="active"{/if}><a href="{field:url}">{field:catname}</a></li>
 {/dayu:category}
  </ul>
 {/if}
</li>
 {/dayu:category}
                          </ul>
 {/if}
</li>
{/dayu:category}
代码剖析:
{dayucms $pid=gettopparentid($catid);}
{if $pid==0}
{dayucms $pid=$catid;}
{/if}
获取参数$catid的顶级分类id, 并赋值给$pid,如果顶级分类id为0或者不存在,那么说明$catid自身是属于顶级分类
{if iset($catid) || $catid==0 }class="active"{/if} 如果$catid不存在,或者为0 则表示是首页,判断首页被选择的样式,前面已经说了,$catid只属于,栏目列表,单页,和内容展示页
{dayu:category  mod="1,2,4"  nav="2" type="top"}显示顶级分类的栏目,
{if ishaschildren(field:id)}如果拥有子栏目
{dayu:category parentid="field:id" mod="1,2,4" nav="2" type="son"}进行显示子分类
…………可以无限级别调用
        {/dayu:category}
{/if}     //关闭if标签
{/dayu:category}  //关闭category标签
category字段
================================================
field:id                栏目id
field:modelid           模型ID
field:parentid          父级ID
field:type              栏目类型
field:catname           栏目名称
field:domain            栏目绑定域名
field:image             栏目封面图片
field:catdir            
field:url               栏目连接地址
field:setting           栏目设置为数组类型,
调用的时候,需要转换{dayucms:$rs=string2array(field:setting)},然后可以调用设置例如:
{$rs['meta_title']}        seo设置
{$rs['meta_keywords']}     seo关键词
{$rs['meta_description']}  seo描述
field:siteid            站点id
field:content           栏目内容,如果为单页的时候需要
field:navtype           导航分组
其他自定义字段
field:_自定义名称
================================================
-----------------------------------------------------------------------------------
content内容调取标签,所有参数均为可选参数
{dayu:content}{/dayu:content}
'catid'='$catid'               栏目id  为空,就表示所有栏目
'areaid'='0'                   区域id   可选
'posid'='0'                    推荐位1,2,3,4,5后天自行设置推荐位置
'row'='10'                     调取条数  
'limit'='0'                    从地几天开始调用,例如:从第二条调用limit=1
'withthumb'='0'                是否调用图片的
'orderby'=''id''             排序规则  默认以id排序
'orderbyway'=''desc''        默认desc,倒序,可选
'subday'='0'                   调用多少天的帖子
'titlelen'='0'                 标题长度
'infolen'='0'                  简介长度
'keyword'=''''               关键词
'ismore'='0'                   是否附加字段,注意content属于附加字段
'userid'=''all''             调用每个用户的文字
================================================
示例代码:
{dayu:cotent catid="5" posid="1" row="10" orderby="id" orderbyway='asc' withthumb='1' titlelen='40' infolen='180' ismore=1}
<li>【<a herf='{caturl(field:catid)}'>{catname(field:catid)}</a>】<a href="{field:url}">{field:title}</a>
<img src='{createthumb1(field:thumb,100,100,0)}'>
<p>
{sub_string(strip_tags(field:content),200,'…')}
</p>
<li>
{/dayu:content}
================================================
示例剖析
{dayu:cotent catid="5" posid="1" row="10" orderby="id" orderbyway='asc' withthumb='1' titlelen='40' infolen='180' ismore=1}
调用栏目等于5的头条,且包含图片的文章10条,按id升序排序,设置标题等于长度为40个文字,描述为180个文字,并且调用附加字段,
{createthumb1(field:thumb,100,100,0)}将封面图片生存100*100的缩略图,并且显示
{sub_string(strip_tags(field:content),200,'…')} 从文章过滤html以后调用200个文字作为说明,这个是需要ismore=1才可以,当然这里设置了infolen长度,我们可以采用{field:description}将显示描述的180个字符
这里的做法是为了演示,一些函数的使用特意做的
================================================
content字段
field:id              文章id
field:modelid         模型id
field:catid           栏目id
field:areaid          区域id
field:template        文章使用模版
field:title           文章标题
field:style           标题样式,颜色和加粗
field:thumb           封面图片
field:keywords        文章关键词
field:description     文字描述
field:posid           文章推荐位
field:url             文章地址连接
field:status          发布状态
field:point           文字阅读点数
field:amount          阅读钱数
field:inputtime       发布时间
field:updatetime      更新时间
field:clicks          点击次数
field:comments        评论次数
field:islink          是否外链
field:siteid          站点id
field:autoindex       循环计数器,从1开始
其他自定义字段
field:content         文章内容
……
================================================
list列表标签
----------------------------------------------------------------------------------
使用方法:
{dayu:list}{/list}
参数:
catid'='$catid'         栏目名称
'row'='10'              每页显示条数
'orderby'=''id''      排序方式
'orderbyway'=''desc'' 
'ismore'='0'            是否调用附加字段
'page'='$page'          调用的页数
'userid'='all'          用户的帖子
代码示例:
{dayu:list row="20" ismore=1}
<li><a href="{field:url}">
<span>[<a herf='{caturl(field:catid)}'>{catname(field:catid)}</a>]</span>
{field:title}
<span>{date('y-m-d',field:inputtime)}</span>
</li>
{/dayu}
分页显示:
{dayu:pagelist listsize="5"}
{if $pageno>1}  //判断,如总页数大于1则显示分页导航
<div>当前是 <strong>{$page}</strong> 页{$index} {$pre} {$pagelist} {$next} {$end} 共 <strong>{$totalcount}</strong> 条 <strong>{$pageno}</strong> 页</div>
{/if}
{/dayu:pagelist}
说明:listsize为中间分页显示的数目,例如:上一页【1,2,3,4,5 】下一页
条件判断标签if:
-----------------------------------------------------------------------------------
{if 条件}显示结果{/if}
{if 条件1}显示1{elseif 条件2}显示2{elseif 条件3}显示3{else}其他显示{/if}
{if 条件1}显示1{else}其他显示{/if}
示例代码:
{if $no mod 2==0}<hr>{/if}
隔行换颜色
循环标签loop
----------------------------------------------------------------------------------
{loop $data $rs}{/loop}
示例代码:例如我们有个图片模型,有个字段为pics为图集类型,要调用图集类型形成相册
{dayucms $pic=morefield(field:pics,100);}
{loop $pic $rs}
{$rs[name]} 
{$rs[url]}
{/loop}
友情连接标签
---------------------------------------------------------------------------------
{dayu:flink}{/dayu:flink}
参数:
withlogo:0不限制,1为图片连接
isindex:0不限制,1为推荐
typeid:后台分组
示例代码:
{dayu:flink row="40" withlogo="0" isindex="0" typeid="1,2"}  
    <a href="{field:url}" target="_blank">{field:name}</a>|
{/dayu:flink}
table万能标签
-----------------------------------------------------------------------------------
dayucms万能标签的使用主要是跨数据库的调用,为了方便站点调用其他数据库的信息,我们采用万能标签
table的使用方法
{table:数据表的名称}{/table}
参数: 
where=""   查询条件sql语句
row=""     显示条数
dbhost=""  远程数据库的连接地址
dbuesr=""  远程数据库的用户名
dbpass=""  远程数据库的用户密码
dbdata=""  远程数据库
说明:
注意在同站点的调用可以不需要后面的参数,如果这样写在模版中可能会涉及到泄漏远程数据库信息,不推荐使用
dayucms内容页的使用
---------------------------------------------------------------------------------------
文章显示中内容页的使用方法
{$title}       文章标题
{$content}     文章内容
{$author}      文章作者
{$copyform}    文章来源
{$其他字段}    根据模型字段打印出需要的内容
{$content_page}    内容分页
{date('Y-m-d',$updatetime)}
==========================
<span id="hits">{js:clicks} </span>       点击次数
{js:comment}      评论次数
调用时候需要在引用:
<script language="javascript" src="/api/statistics/c.js.php?id={$id}"></script>
===========================
下一条:{getnext($id,$catid,60)}
上一条:{getpre($id,$catid,60)}
-------------------------------------------------------------------------------------
faq,常见问题
1、什么时候用field,什么时候用$?
答:field是在在标签中使用,$为变量,不需要标签支持
2、dayucms模版支持php语句吗:
答:dayucms为开放式模版,模版中支持php语句
3、为什么有的时候我模版做好了,放到服务器上不显示,出现500错误呢?
答:因为dayucms分隔字符采用的是{},而在js语句的时候,很多人直接把js写在一行,导致误解。解决办法,将js语句保存到js文件中,用<script src="url">引用进来
4、如何将本地建设好的网站传到服务器上呢?
答:先进入后台备份数据,然后上传到服务器上,进入后台还原系统
5、为什么刚建立好栏目,点击预览却出现没有找到模版呢?
答:一般dayucms有五重模版,index_*htm(频道封面)、list_*.htm列表模版、article_*.htm、single_*.htm单页模版,因为大家安装好系统,建立栏目的时候模版不存在,导致的。一般建立模版方式可以参考官方即将退出的视频
跟多问答,未来将慢慢整理

上一条:没有了

Powered by 苏州网站建设:千际软件有限公司 备案号:苏ICP备14053792号

© 0512a.com 2014 - All rights reserved