当前位置:首页 > Dede二次开发程序
//////
//////////////////////////////// 判断获取数据库内容的常用方法///////////////////
$row = $dsql->GetOne(\tid={$pid}\
if(!is_array($row)){ echo \失败\exit(); }
/////////////////////////////
$upquery = \title='$title',url='$url',linktype='$linktype',
imgurl='$imgurl',imgwidth='$imgwidth',imgheight='$imgheight' where aid='$aid' And mid='\\
$rs = $dsql->ExecuteNoneQuery($upquery); if($rs){
echo \成功\}else{
echo \失败\}
//////////////////////////////////获取总数 ////////////////////////////////// $dsql = new DedeSql(false);
$dsql->SetQuery(%uname='$uname'\$dsql->Execute();
$ns = $dsql->GetTotalRow();
//////////////////////////////// 关闭数据库/////////////////////////////////// $dsql->Close();
/////////////////////////////////////////////////////////////////////////////// ?>
Dedecms新版本(V5系列)模板标记非常灵活,对于很多新人是一个头疼的问题,天涯今天就来和大家谈谈这些标记,为 以后大家修改、制作模板打下扎实基础。
首先我们去官方的《模板制作 帮助文档》查看这些标记的简介,如何来看帮助文档呢,下面天涯就来简单的说一下,我 们拿最常用的Arclist标记来做说明。
帮助文档中都有【功能说明】【适 用范围】【基本语法】【属性说明】这些部分组成,
【功能说明】用于解释模板标记使用功能,建议新手都把这些标记功能看看,大致做一个了解。
【适用范围】由于Dedecms模板大致分为首页、频道、列表、内容以及其他附加模板组成,使用范围指出 这些标记在哪些模板中起作用。模板文件夹中(以Dedecms默认模板为例,即{cmspath}\\templets\\default)大家可以仔细分析 下,模版中很多都是以下列这些名字出现index.htm,index_X.htm(封面模板),list_X.htm(列表模 板),article_X.htm(内容模板),你可以对照标记的适用范围,查看这些标签在哪个模板中能起到作用。 【基本语法】用于介绍模板基本使用方法,在使用时候可以拿来根据自己的需要进行响应的修改。
【属性说明】这些属性,决定你调用的内容,决定Dedecms解析这些标记的形式,属性非常重要。
以上这些介绍主要是让大多数新手 学会看帮助文件,模板修改使用的大多数问题都是因为自己不去看这些帮助文件导致的,希望广大Dedecms新人引以为戒。
下面就来简单说下Dedecms模板的分类,搞过ASP的人应该知道,动态网页基本上就是对变量、数组(数据库)的操作,然后通过语句输出为 HTML,dedecms的这些标记也是起到同样的效果。
下面根据起到的不同效果对模板进行如下分类:
一.变量操作型这里的变量不同于对编程中那个复杂的变量,新人不懂,我这里所指出的变量是Dedecms调用局部内容进行输出的一些标记,这里有: 【Flink (friendlink)标记】【Page 标记】【Pagelist 标记】【Pagebreak 标记】【Prenext 标记】【Pagetitle 标记】【Myad 标记】【Vote 标记】以及还有系统不常用的(其实天涯经常使用),例如global 标记、include 标记、mytag标记、position 标记,这些标记大家可以看出,都是输出来为一部分内容,并不可以重复,这个标记在解析时候生成的只是一块不重复的内容。
二.数组操作型这里的数组当然在模板标记中,指的是循环输出一些内容的标记,例如N行文章、N个软件、N个会员信息等等,Dedecms这些标记有:【Arclist 标记】【Field 标记】【Channel 标记】 【Type 标记】【Autochannel 标记】【Mynews 标记】【LOOP 标记】【Channelartlist 标记】【List 标记】【Ask 标记】【Sql 标记】【Group 标记】【Groupthread 标记】【booklist 标记】【catalog 标记】【chapter 标记】【contentlist 标记】当然 也有foreach这种“罕见”的标记,这些标记使用时,通过属性设置,能循环输出一些列内容,很多重复的东西,往往 只要一个标记就搞定,不信可以开个模板仔细观察观察。
有了这个分类以后,在修改、制作模板时候相信会得心应手了,天涯在修改、制作模板中经常使用的标记有sql、include、loop(貌似现在被sql 取代了)、mytag这些标记,因为这些标记很“自由”,当 然新人可以在模板制作修改中尝试使用这些灵活自由的标记。
本篇接下来简单讲一下数组操作性标记的原理以及他的使用方法。
我们在Dedecms模板中经常看到下面这样的例子:
{dede:arclist row=4 titlelen=20 orderby=pubdate typeid=58}
这里我们使用了arclist标记,通过属性我们可以得到下列相关信息: row=4 调用4行这样的数据
titlelen=20 取标题的前20个字符(2个字符为一个中文字符)
orderby=pubdate 排列顺序为按照发布时间排列,当然你也可以选择其他,帮助有详细说明。 typeid=58 调用栏目id为58栏目的文章
标记都是通过 {dede:arclist}这个开始,{/dede:arclist}结束,这个和html有的相像,所以做dedecms模板,最好熟练下html的 相关知识。
开始、结束标记中含有[field:textlink/]这样的标记,新手需要记住的是[field:textlink/]只可能存在于{dede:XXX}{/dede:XXX}之间,绝对不肯能拿出来单独使用!
其他数组操作性标记都是同样的原理,只是将繁琐的从数据库调用的东西简化为dedecms标记,dedecms在解析时候读取标记然后进行查询、输出等一 些后续操作。新手注意的是,熟练掌握什么是频道页、列表页、内容页,以及调 用内容关系和范围,根据自己的页面需要,使用不同的标记达到效果,这是新手在不断实践的基础下才能掌握的。 文件:include/inc_function.php 系统默认会载入此文件 GetCurUrl()
获得当前得脚本得URL
GetAlabNum($str)
把字符串里得全角数字转为半角数字(会把非数字类型字符删除)
Text2Html($txt) 文本转HTML
Html2Text($str)
获得HTML里得文本
function ClearHtml($str) 清除HTML标记
cnw_left($str,$len)
中文截取把双字节字符也看做一个字符
cn_substr($str,$slen,$startdd=0) 中文截取2,单字节截取模式
GetMkTime($dtime)
把中文得时间格式转换为Linux时间截,对于不能识别得格式,会返回time()
SubDay($ntime,$stime)
返回减少一天得Linux时间截
AddDay($ntime,$aday)
返回增加一天得Linux时间截
GetDateTimeMk($mktime)
从指定得Linux时间截返回 0000-00-00 00:00:00 格式得时间
GetDateMk($mktime)
从指定得Linux时间截返回 0000-00-00 格式得时间
GetIP()
获取客户部IP
GetPinyin($str,$ishead=0,$isclose=1)
获取一串中文字符得拼音 ishead=0 时,输出全拼音 ishead=1时,输出拼音首字母
ShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)
显示Dedecms提示信息,其中当onlymsg=1时,不跳转,仅显示alert提示
dd2char($dd)
把符合规则得数字转为字母(符合a-zA-Z Ascii码得数字转换为字母,不符合则不变)
PutCookie($key,$value,$kptime,$pa=\
按默认参数设置一个Cookie(dede得cookie是经过加密得,必须用GetCookie获取值,以防止用户模拟登录)
DropCookie($key) 使Cookie失效
function GetCookie($key) 获得一个cookie值
function GetCkVdValue() 获得验证码得session值
FtpMkdir($truepath,$mmode,$isMkdir=true) 用FTP创建一个目录
FtpChmod($truepath,$mmode) 用FTP改变一个目录得权限
OpenFtp()
打开FTP连接
CloseFtp() 关闭FTP连接
共分享92篇相关文档