版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
织梦dedecms二次开发和织梦模板制作系列教程汇总
一、织梦dedecms二次开发教程系列织梦二次开发教程(一)织梦dedeCms主要模板文件与功能说明一、概念,设计和使用模板,必须要理解下面几个概念1、板块(封面)模板:指网站主页()或比较重要的栏目封面频道使用的模板,一般用“index_识别ID.htm”命名,此外,用户单独定义的单个页面或自定义标记,也可选是否支持板块模板标记,如果支持,系统会用板块模板标记引擎去解析后才输出内容或生成特定的文件。2、列表模板:指网站某个栏目的所有文章列表的模板,一般用“list—识别ID.htm”命名。3、档案模板:表示文档查看页的模板,如文章模板,一般用“article—识别ID.htm”命名。4、其它模板:一般系统常规包含的模板有:主页模板、搜索模板、RSS、JS编译功能模板等,此外用户也可以自定义一个模板创建为任意文件。二、命名,DedeCMS模板默认命名规则如下1、模板保存位置:模板目录:{cmspath}/templets/样式名称(英文,默认为default,其中system为系统底层模板,plus为插件使用的模板)/具体功能模板文件}2、模板文件命名规范:index_识别ID.htm:表示板块(栏目封面)模板;list_识别ID.htm:表示栏目列表模板;article_识别ID.htm:表示内容查看页(文档模板,包括专题查看页);search.htm:搜索结果列表模板;index.htm:主页模板;
注解:[识别ID]可以在“频道模型管理”的地方获得,当然,你也可以在“频道模型管理”的地方确定某个频道的模板命名。例:list_image.htm表示是就是内容类型为图片集的栏目默认列表模板。article_article.htm表示的是文章查看页模板。三、其它模板说明1、默认底层模板位置:{cmspath}/templets/system功能:在没有指定标记的默认底层模板的时候,系统将自动调用这个文件夹的相应文件作为底层模板。2、插件目录模板位置:{cmspath}/templets/plus功能:评论、友情链接、RSS地图等模板。3、会员后台模板位置:{cmspath}/member/templets功能:会员后台的模板。四、二次开发在V5.3中已经将标签开发分离出来,您可以通过后台[模板]-[标签代码管理],点击“新增加一个新的标签”来创建一个自己的标签,标签文件名为:标签名.lib.php接口函数定义为:functionlib_标签名(&$ctag,&$refObj),返回值是结果字符串修改标签时为了防止出错,您也可以修改它的名称(同时修改文件名和函数名),这样等同继织梦二次开发教程(二)模板标签语法简介
织梦的模板标签类似于XML格式,所有的模板都含有定界符,默认情况下是{dede:*}和{/dede:*},“*”代表模板标记名称。一般情况下{dede:*}和{/dede:*}是成对出现的,例如:例1-1:{dede:arclistflag='h'limit='0,1'}<br/><h2><ahref="[field:arcurl/]">[field:title/]</a></h2><br/><p>[field:description/]...<ahref="[field:arcurl/]">[查看全文]</a></p><br/>{/dede:arclist}上面的{dede:arclist}和{/dede:arclist}成对出现在模板文件中,并且在两个标签当中包含了底层模板(innertext)。底层模板(Innertext),底层模板实际上就是对于有多条记录的模板输出,用户手工去指定单个记录的样式。标签还有一类出现形式是{dede:*/},通常以这种形式出现都是输出变量、或者不含底层模板的内容。例如:1-2{dede:global.cfg_webname/}{dede:arclistflag='h'limit='0,1'/}如果用户没有指定单个记录的样式,系统部分标签都含有默认的底层模板,具体可以查看{cmapath}/templets/system/文件夹下面的文件,这里面都是系统的底层模板文件。
注释织梦标签的模板注释非常灵活,可以通过标签后面的commet属性进行赋值。例1-3:{dede:arclistflag='h'limit='0,1'commet='调用头条的第一篇内容'}<br/><h2><ahref="[field:arcurlcommet="这是文章链接标签"/]">[field:titlecommet="这是文章标题标签"/]</a></h2><br/><p>[field:descriptioncommet="这是摘要标签"/]...<ahref="[field:arcurlcommet="这是文章链接标签"/]">[查看全文]</a></p><br/>{/dede:arclist}在模板引擎将上述标签解析为html的时候,commet的内容是被忽略掉不去解析的,用户在阅读模板标记的时候可以更好的理解标签的意义。函数每一个织梦()的标签都可以使用自定义函数对其进行扩展,自定义函数内容主要用于对当前标签输出内容进行处理。例1-4:{dede:标记名称function='youfunction("参数一”,”参数二”,"@me")'/}其中@me用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:{dede:field.pubdatefunction='strftime("%Y-%m-%d%H:%M:%S","@me")'/}属性
模板标签的属性,决定了模板标记输出的形式,例如arclist标签主要功能是列出文档列表,但列出什么内容、按照什么方式进行排序等取决于模板标签的属性。在织梦的模板标签说明中含有各个模板的标签属性可以详细查阅。可以查看例1-1中的flag='h'limit='0,1',这里flag和limit是标签的相关属性,通过手册可以查阅属性的介绍。如果模板标签如果没有列出属性,系统有默认属性值,用户可以参考模板标签说明查看默认属性。编程织梦模板很方便的一个地方就是支持简单的模板编程。格式为:{dede:tagnamerunphp='yes'}<br/>$aaa=@me;<br/>@me="123456";<br/>{/dede:tagname}@me表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me。此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerTexto织梦二次开发教程(三)common.func.php公用函数说明获得当前的脚本网址functionGetCurUrl()返回格林威治标准时间functionMyDate($format='Y-m-dH:i:s',$timest=0)
把全角数字转为半角functionGetAlabNum($fnum)把含HTML的内容转为纯textfunctionHtml2Text($str,$r=0)把文本转HTMLfunctionText2Html($txt)输出Ajax头functionAjaxHead()中文截取2,单字节截取模式functioncnsubstr($str,$slen,$startdd=0)把标准时间转为Unix时间戳functionGetMkTime($dtime)获得一个0000-00-0000:00:00标准格式的时间functionGetDateTimeMk($mktime)获得一个0000-00-00标准格式的日期functionGetDateMk($mktime)获得用户IP
functionGetIP()获取拼音以gbk编码为准functionGetPinyin($str,$ishead=0,$isclose=1)dedecms通用消息提示框functionShowMsg($msg,$gourl,$onlymsg=0,$limittime=0)保存一个cookiefunctionPutCookie($key,$value,$kptime=0,$pa="/")删除一个cookiefunctionDropCookie($key)获取cookiefunctionGetCookie($key)获取验证码functionGetCkVdValue()过滤前台用户输入的文本内容//$rptype=0表示仅替换html标记//$rptype=1表示替换()html标记同时去除连续空白字符//$rptype=2表示替换html标记同时去除所有空白字符//$rptype=-1表示仅替换html危险的标记//$rptype=-1表示仅替换html危险的标记functionHtmlReplace($str,$rptype=0)获得某文档的所有tagfunctionGetTags($aid)过滤用于搜索的字符串functionFilterSearch($keyword)姓理禁用HTML但允许换行的内容functionTrimMsg($msg)获取单篇文档信息functionGetOneArchive($aid)织梦二次开发教程(四)dedesql.class.php数据库类用法系统会白动载入dedesql.class.php文件,并用$dsql=$db=newDedeSql(false);进行初始化数据库连接,因此在工程所有文件中均不需要单独初始化这个类,可直接用$dsql或$db进行操作,为了防止错误,操作完后不必关闭数据库.常用的方法:1、执行一个非查询类型的SQL语句,如insert、create、update等$rs=$db->ExecuteNoneQuery($sql);返回值为是否执行成功.2、执行一个非查询类型的SQL语句,并返回成功记录数$rs=$db->ExecuteNoneQuery2($sql);与上而相比,它返回的是影响的记录数,而不是布尔值
3、返回单个记录$arr=$db->GetOne($sql);$dsql如果不带limit,系统会自动加上limit0,14、执行条件查询语句$db->SetQuery($sql);$db->Execute();5~'())$db->Execute('me',$sql);一标,用,“不同$db->Execute('me',$sql);—$db->Execute('2',$sql2);
{■()这种情况必须指定一个值区分默认的'me'参数,否则会出错$db->GetArray($rsid,$acctype)参数$rsid="me”$acctype=MYSQLASSOC在杳询游标中读取数据还可以用$db->GetObject($rsid="me");返回的结果是用类结构表示的值.5、获取上一个插入的自动递增主键id值$db->GetLastID();6、获得查询的总记录数$db->GetTotalRow($rsid="me")7、获得MySql的版本号$db->GetVersion($isformat=true)默认的情况下会转换成x.xx形式淫点数8、析放某查询的资源$db->FreeResult($rsid="me");9、在数据库中是否存在某数据表$db->IsTable($tbname)
10、重新选择要操作的数据库$db->SelectDB($dbname);11、获得数据库连接标识$db->linkID获得这个连接标识后,可以直接用mysql相关函数进行数据库操作在非不得已的情况,项目中一般不使用这个变量.织梦二次开发教程(五)datalistcp.class.php动态分页类动态分页类文件include/datalistcp.class.php适用范围:数据量不大的数据分页使用方法:$dl=newDataListCP();$dl->pageSize=25;〃设定每页显示记录数(默认25条)$dl->SetParameter($key,$value);〃设定get字符串的变量〃这两句的顺序不能更换$dl->SetTemplate($tplfile);?//载入模板$dl->SetSource($sql);?//设定查询SQL$dl->Display();?//显示模板{dede:datalist}<li>{field.fieldname1/}-{field.fieldname2/}...</li>
{/dede:datalist}{tag:pagelistlistitem="info,index,end,pre,next,pageno"listsize="5"/}listitem、listsize是可选属性如果需要自定义datalist相关属性,可以继续本类来创建一个新类,只需改变GetArcList($atts,$refObj='',$fields=array())方法即可.本篇文章来源于网页设计教程网-旁微网|原文链接:/phpopen/465.html织梦二次开发教程(六)dedetag.class.php静态模板类静态类文件include/dedetag.class.php这个文件是dedecmsV5.3、及之前版本使用的主要的模板类,它是解析式模板类,并非编译式的(区别是前者通过获得标签位置进行内容替换,后者是直接解析式PHP代码,二次执行)一、模板语法织梦模板引擎是一种使用XML名字空间形式的模板解析器,使用织梦解析器解析模板的最大好姓是可以轻松的制定标记的属性,感觉上就像在用HTML一样,使模板代码十分直观灵活,新版的织梦模板引擎不单能实现模板的解析还能分析模板里错误的标记.1、织梦模板引擎的代码样式有如下几种形式:{dede:标记名称属性='值'/}{dede:标记名称属性='值'}{/dede:标记名称}{dede:标记名称属性='值'}自定义样式模板(InnerText){/dede:标记名称}提示:
如果使用带底层模板的标记,必须严格用{dede:标记名称属性='值'}{/dede:标记名称}这种格式,否则会报错.2、织梦模板引擎内置有多个系统标记,这些系统标记在任何场合都是能直接使用的.global标记,表示获取一个外部变量,除了数据库密码之外,能调用系统的任何配置参数,形式为:{dede:globalname='变量名称'}{/dede:global}或{dede:globalname='变量名称'/}其中变量名称不能加$符号,如变量$cfg_cmspath,应该写成{dede:globalname='cfgcmspath'/}.foreach用来输出一个数组,形式为:{dede:foreacharray='数组名称'}[field:key/][field:value/]{/dede:foreach}include引入一个文件,形式为:{dede:includefile='文件名称'ismake='是否为dede板块模板(yes/no)'/}对文件的搜索路径为顺序为:绝对路径、include文件夹,CMS安装目录,CMS主模板目录3、织梦标记允许在任何标记中使用函数对得到的值进行处理,形式为:{dede:标记名称属性='值'function='youfunction("参数一”,”参数二”,"@me")'/}其中⑥me用于表示当前标记的值,其它参数由你的函数决定是否存在,例如:{dede:fieldname='pubdate'function='strftime("%Y-%m-%d%H:%M:%S","⑥me")'/}4、织梦标记允许有限的编程扩展.格式为;{dede:tagnamerunphp='yes'}$aaa=@me;
⑥me="123456";{/dede:tagname}@me表示这个标记本身的值,因此标记内编程是不能使用echo之类的语句的,只能把所有返回值传递给@me.此外由于程序代码占用了底层模板InnerText的内容,因此需编程的标记只能使用默认的InnerText.二、解析方式在dedetag.class.php里面有I四个类classDedeAttribute属性结构表述classDedeAttributeParse属性解析器classDedeTag标签结构表述classDedeTagParse标签解析器使用解析类解析模板时一般经过下而的步骤1、初始化:$dtp=newDedeTagParse();2、载入模板/模板字符串:$dtp->LoadTemplate(模板文件(绝对路径));〃会生成缓存,第二次不需解析模板或$dtp->LoadSource(字符串);3、给标签赋值foreach($dtp->CTagsas$tid=>$ctag){//判断ctag的名称和属性,并给赋不同的值,通常用函数处理if($ctag->GetName=='mytag')$dtp->Assign($tid,mytagvalue($ctag));}在上而例子中,直接把名称为mytag的标签转交给mytagvalue函数处±^,mytagvalue甲判断$ctag的各个属性,返回不同内容即可.在V5.3版本中,诵常除了field、list等专用标签之外,凡arc.*开头的类解析的文件,标签都是对应该include/taglib的源码的对应该include/taglib的源码的,这个由系统进行了自动的映射.4、显示或保存为HTML$dtp->display();或$dtp->SaveTo(静态文件名);对于二次开发人员而言,不大需要知道dedecms模板具体解析方式,不过应该十分清楚CTag这个类的结构,从而判断标签不同属性进行处理.classDedeTag{var$IsReplace=FALSE;//标记是否已被替代,供解析器使用var$TagName="";//标记名称var$InnerText="";//标记之间的文本var$StartPos=0;//标记起始位置var$EndPos=0;//标记结束位置var$CAttribute="";//标记属性描述,即是classDedeAttributevar$TagValue="七//标记的值var$TagID=0;〃获取标记的名称和值functionGetName()returnstrtolower($this->TagName);}functionGetValue()
{return$this->TagValue;〃下面两个成员函数仅是为了兼容旧版_」etu~〃获取标记的指定属性r~L>iifunctionGetAttribute($str)return$this->CAttribute->GetAtt($str);}
functionGetAtt($str)return$this->CAttribute->GetAtt($str);functionGetInnerText()return$this->InnerText;织梦二次开发教程(七)dedetemplate.class.php动态模板类动态模板核心类文件include/dedetemplate.class.php用途:用于非核心模块的动态页而或列表页的模板解析,如:member/contentlist.php,诵常是在datalistcp.class.php中使用,这个类在动态运行的情况下,由于本身是把模板编译成PHP的,因此性能上会优级于旧的解析类,这个方法将在未来版本中作为通用的方式.一、使用方法:$tpl=newDedeTemplate(模板对象实例名称,通常是'tpl',「模板存放目录(生成缓存时会存放在这个目录),include语法默认引用目录]
诵常情况下参数二和参数二是不必要的,如:$tpl=newDedeTemplate('tpl');如果在类文件中调用,应该加上设置:$this->tpl->SetObject($this);在一些块调用中默认将使用当前类的成员函数.$tpl->LoadTemplate(模板的物理路径);如果模板中带有{dede:configname=''value=''/}可以在载入模板后,诵过$tpl->GetConfig($name)获得这些变量的值.显示页而或保存页面为文件$tpl->Display();$tpl->SaveTo(物理绝对路径的文件名);二、模板标记语法1、标记通用特性短标记{dede:/}等同于{dede:tagnamename=''/}块标记{dede:tagname}循环代码{/dede:tagname}
2、标记的具体语法及对应的PHP代码(1)配置变量{dede:configname=''value=''/}配置变量可以在载入模板后诵过$tpl->GetConfig($name)获得,仅作为配置,不在模板中显短标记{dede:/}外部变量等同于<?phpecho$name;?>{dede:/}var数组等同于<?phpecho$vars['name'];?>{dede:/}field数组等同于<?phpecho$fields['name'];?>{dede:/}系统配置变量等同于<?phpecho$cfg_name;?>考虑到大多数情况下都会在函数或类中调用模板,因此$_vars、$fields数组必须声明为global数组,否则模板引擎无法获得它的值从而导致产生错误.自由调用块标记{tag:blocknamebind='GetArcList'bindtype='class'}循环代码{/tag:blockname}必要属性:bind数据源来源函数bindtype函数类型,默认是class可选为subrstype返回结果类型,默认是array,可选项为string自定义函数格式必须为function(array$atts,object$refObj,array$fields);
在没有指定bind绑定的函数的情况下,默认指向MakePublicTag($atts,$tpl->refObj,$fields)统一管理,这个函数存放在clsdedetplinc.php.固定块标记datalist从绑定类成员函数GetArcList中获取数组并输出{dede:datalist}循环代码{/dede:datalist}遍历一个二给维数组,数据源是固定的,只适用用类调用.等同于{tag:blocknamebind='GetArcList'bindtype='class'rstype='arrayu'}循环代码{/tag:blockname}label从绑定函数中获取字符串值并输出等同于{tag:blocknamebind='func'bindtype='sub'rstype='string'/}pagelist从绑定类成员函数GetPageList中获取字符串值并输出等同于{tag:blocknamebind='GetPageList'bindtype='class'rstype='string'/}include语法{dede:includefile=''/}
{dede:includefilename=''/}php代码块{dede:phpphp代码/}或{dede:php}php代码{/dede:php}if条件仅支持if,else,else直接用{else}表示/日不支持{elseif}这样的语法,一般建议模板中不要使用太复杂的条件语法,如果确实有需要,可以直接使用php语法.{dede:if条件}a-block{else}b-block{/dede:if}条件中允许使用、、、表示相应的变量.如:{dede:iffield.id>10}{/dede:if}遍历一个array数组{dede:}{dede:key/}={dede:value/}{/dede:array}各种语法的具体编译后的代码,可杳看dede-template-class.php的functionCompilerOneTag(&$cTag).
块调用示例代码:1、示例一{tag:datalisttimeformat=""}<br/><tr><br/><tdclass='col1'><br/><div>?<ahref='{tag:field.arcurl/}'>{tag:field.title/}</a></div><br/^<!--divclass='descriptions'> {tag:field.descriptionfunction="CnSubstr(@me,150)"/}...</div--><br/></td><br/><tdclass='col2'>{tag:field.formattime/t</td><br/></tr><br/>{/tag:datalist}编译后的代码<?php$atts=array();$atts['tagname']='datalist';$atts['timeformat']='';$blockValue=$this->refObj->GetArcList($atts,$this->refObj,$fields);foreach($blockValueas$key=>$fields)二?><tr><tdclass='col1'>
<div>?<ahref='<?phpecho$fields['arcuH'];?>'><?phpecho$fields['title'];?></a></div><!--divclass='descriptions'> <?phpechoCnSubstr($fields['description'],150);?>...</div--></td><tdclass='col2'><?phpecho$fields['formattime'];?></td></tr><?php?>2、示例二{tag:articlesort='new'titlelen='36'row='10'}<br/><dd>[{tag:field.typename/}]<ahref="{tag:field.arcurl/}">{tag:field.titlefunction="CnSubstr(@me,24)"/}</a></dd><br/>{/tag:article}编译后的代码<?php$atts=array();$atts['tagname']='article';$atts['sort']='new';$atts['titlelen']='36';$atts['row']='10';$blockValue=MakePublicTag($atts,$this->refObj,$fields);
if(isarray($blockValue)&&count($blockValue)>0){foreach($blockValueas$key=>$fields)?><dd>[<?phpecho$fields['typename'];?>]<ahref="<?phpecho$fields['arcuH'];?>"><?phpechoCnSubstr($fields['title'],24);?></a></dd><?php?>织梦二次开发教程(八)数据库各表字段说明dedearchives]文档主表字段类型整理属性Null默认额外idmediumint(8)UNSIGNED是0文档IDtypeidsmallint(8)UNSIGNED是0栏目IDsortrankint(10)UNSIGNED是0时间排序flagset('c','h','p','f','s','j','a','b')utf8generalci是NULL自定义属性值ismakesmallint(6)是0是否审核channelsmallint(6)是1所属模型IDarcranksmallint(6)是0阅读权限clickmediumint(8)UNSIGNED是0点击数moneysmallint(6)是0消费点数titlechar(60)utf8_general__ci是标题shorttitlechar(36)utf8generalci是简明标题
colorchar(7)utf8_general_.ci是颜色writerchar(20)utf8generalci是作者sourcechar(30)utf8generalci是文档来源litpicchar(60)utf8generalci是缩略图pubdateint(10)UNSIGNED是0时间senddateint(10)UNSIGNED是0时间midmediumint(8)UNSIGNED是0会员IDkeywordschar(30)utf8generalci是关键词templetchar(30)utf8generalci是lastpostint(10)UNSIGNED是0最后回复scoresmediumint(8)UNSIGNED是0阅读权限goodpostmediumint(8)UNSIGNED是0好评badpostmediumint(8)UNSIGNED是0差评notposttinyint(l)UNSIGNED是0评论选项(1:充许评论)useripchar(15)utf8generalci是IPredirecturlvarchar(255)utf8generalci是够k转地址descriptionvarchar(255)utf8generalci是摘要dedeaddonarticle|文章附加表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED否0文档IDtypeidsmallint(5)UNSIGNED否0栏目IDbodymediumtextutf8.general_ci是NULL内容
dedeaddonimages|图片附加表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED否0文档IDtypeidsmallint(5)UNSIGNED否0栏目IDpagestylesmallint(6)否1表现方式(多页多图显示、多页单图显示、多行多列显示)maxwidthsmallint(6)否600图片宽度限制imgurlstextutf8generalci是NULL图片内容({dede:pagestyle…)rowsmallint(6)否0多列式参数(行)colsmallint(6)否0多列式参数(列)isrmsmallint(6)否0特殊选项(下载远程图片、从ZIP压缩包中解压图片、网上复制图片)ddmaxwidthsmallint(6)否200缩略图宽度限制pagepicnumsmallint(6)否12每页图片数(单页多图显示需要设置此参数)dedeaddonshop|商品附加表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED否0文档idtypeidsmallint(5)UNSIGNED否0栏目idbodymediumtextutf8generalci是NULL商品内容pricefloat否0价格truepricefloat否0优惠价brandvarchar(250)utf8generalci否品牌unitsvarchar(250)utf8一general_ci否单位
dede_addonsoft|软件附加表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED否0文档IDtypeidsmallint(5)UNSIGNED否0栏目IDfiletypevarchar(10)utf8generalci否文件类型(zip、rar)languagevarchar(10)utf8_general_ci否软件语言softtypevarchar(10)utf8generalci否软件类型(国产..)accreditvarchar(10)utf8generalci否授权方式(共享软件..)osvarchar(30)utf8generalci否运行环境(windows..)softrankmediumint(8)UNSIGNED否0软件等级(一星..)officialUrlvarchar(30)utf8_general_ci否官方网址officialDemovarchar(50)utf8generalci否程序演示softsizevarchar(10)utf8generalci否软件大小softlinkstextutf8generalci是NULL软件地址introducetextutf8general_ci是NULL软件说明daccesssmallint(5)否0下载权限dedeaddonspec|专题附加表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED否0文档IDtypeidsmallint(5)UNSIGNED否0栏目IDnotetextutf8generalci是NULL专题节点dede一arctype|栏目表字段类型整理属性Null默认额外
idsmallint(5)UNSIGNED是NULL栏目IDreidsmallint(5)UNSIGNED是0上级栏目topidsmallint(5)UNSIGNED是0顶级栏目sortranksmallint(5)UNSIGNED是50栏目排序typenamechar(30)utf8generalci是栏目名typedirchar(60)utf8一general_ci是目录地址isdefaultsmallint(6)是0栏目列表选项(1:链接到默认页;0:链接到列表第一页;-1:使用动态页)defaultnamechar(15)utf8generalci是index.html默认页的名称issendsmallint(6)是0是否支持投稿(0:不支持;1:支持)channeltypesmallint(5)UNSIGNED是1所属频道IDmaxpagesmallint(6)是-1ispartsmallint(6)是0栏目属性(0:最终列表栏目;1:频道封面;2:外部连接)coranksmallint(6)是0浏览权限tempindexchar(50)utf8一general©是封面模板templistchar(50)utf8generalci是歹U表模板temparticlechar(50)utf8generalci是内容模板namerulechar(50)utf8generalci是文章命名规贝U({typedir}/{Y}{M}{D}/{aid}.html)namerule2char(50)utf8一general©是歹U表命名规则({typedir}/list_{tid}_{page}.html)_modnamechar(20)utf8generalci是descriptionchar(150)utf8generalci是栏目描述keywordschar(30)utf8generalci是关键词moresitetinyint(1)UNSIGNED是0多站点支持(0:不启用)sitepathchar(60)utf8generalci是栏目地址
siteurlchar(50)utf8一general.ci是绑定域名ishiddensmallint(6)是0是否隐藏栏目(0:显示)crosstinyint(l)是0栏目交(0:不交叉;1:自动获取同名栏目内容;2:手工指定交叉栏目ID)crossidtextutf8generalci是NULL交叉栏目IDcontenttextutf8.general.ci是NULL栏目内容dedeflinktypel友情链接网站类型字段类型整理属性Null默认额外idmediumint(8)UNSIGNED是NULL链接类型IDtypenamevarchar(50)utf8generalci是类型名称dede.flinkl友情链接表字段类型整理属性Null默认额外idsmallint(5)UNSIGNED是NULL友链IDsortranksmallint(6)是0排序值urlchar(60)utf8generalci是链接地址webnamechar(30)utf8.general_ci是网站名msgchar(200)utf8generalci是网站简况emailchar(50)utf8generalci是站长EMAILlogochar(60)utf8generalci是LOGOdtimeint(10)UNSIGNED是0链接时间typeidsmallint(5)UNSIGNED是0站点类型ischecksmallint(6)是1链接位置(1、内页;2、首页)
dedeadmin|系统管理用户表字段类型整理属性Null默认额外idint(10)UNSIGNED否管理员IDusertypeint(10)UNSIGNED否0级别值useridchar(30)utf8generalci否用户名pwdchar(32)utf8generalci否用户密码unamechar(20)utf8generalci否用户笔名tnamechar(30)utf8generalci否真实姓名emailchar(30)utf8generalci否Emailtypeidsmallint(5)UNSIGNED否0授权栏目(0为所有)logintimeint(10)UNSIGNED否0登陆时间loginipvarchar(20)utf8generalci否登陆IPdedemember|会员表字段类型整理属性Null默认额外midmediumint(8)UNSIGNED是NULL会员IDmtypeenum('个人','企业')utf8generalci是个人会员类型useridchar(20)utf8一general_ci是注册用户名pwdchar(32)utf8generalci是密码unamechar(36)utf8generalci是昵称sexenum('男','女','保密')utf8generalci是保密性另|」ranksmallint(5)UNSIGNED是0会员级别值upranksmallint(5)UNSIGNED是0是否待升级moneymediumint(8)UNSIGNED是0会员金币
upmoneysmallint(5)UNSIGNED是0是否待充值emailchar(50)utf8generalci是Emailscoresmediumint(8)UNSIGNED是0积分mattsmallint(5)UNSIGNED是0推荐spacestasmallint(6)是0会员空间状况facechar(50)utf8general__ci是头像safequestionsmallint(5)UNSIGNED是0安全提示问题safeanswerchar(30)utf8generalci是安全提示问题答案jointimeint(10)UNSIGNED是0注册时间joinipchar(16)utf8generalci是注册IPlogintimeint(10)UNSIGNED是0登陆时间loginipchar(16)utf8generalci是登陆IPdede一member_space|会员空间资料字段类型整理属性Null默认额外midmediumint(8)UNSIGNED是0会员IDpagesizesmallint(5)UNSIGNED是10每页文档数mattsmallint(6)是0spacenamevarchar(50)utf8一general_ci是空间名spacelogovarchar(50)utf8generalci是空间LOGOspacestylevarchar(20)utf8generalci是空间风格signvarchar(100)utf8generalci是没签名签名spacenewstextutf8generalci是NULL空间动态
dede一plus|插件管理表字段类型整理属性Null默认额外aidmediumint(8)UNSIGNED是NULL插件IDplusnamevarchar(30)utf8generalci是插件名menustringvarchar(200)utf8generalci是菜单配置mainurlvarchar(50)utf8一general©是目标框架writervarchar(30)utf8generalci是作者isshowsmallint(6)是1是否启用filelisttextutf8generalci是NULL文件列表dedesysset|系统设置表字段类型整理属性Null默认额外idsmallint(5)UNSIGNED是NULLautoincrementsnamechar(20)utf8一general_ci是设置名称itemstextutf8generalci是NULL设置条目dedesysconfig|系统参数表字段类型整理属性Null默认额外aidsmallint(8)UNSIGNED是0参数IDvarnamevarchar(20)utf8generalci是参数名infovarchar(100)utf8generalci是变量说明groupidsmallint(6)是1变量类型IDtypevarchar(10)utf8generalci是string变量类型valuetextutf8generalci是NULL俏
dede一tagindex|Tags标签表字段类型整理属性Null默认额外idint(10)UNSIGNED是NULLTagidtagchar(12)utf8generalci是TAG内容countint(10)UNSIGNED是0点击totalint(10)UNSIGNED是0文档数weekccint(10)UNSIGNED是0周统计monthccint(10)UNSIGNED是0月统计addtimeint(10)UNSIGNED是0添加时间dedetagindex|Tags标签表字段类型整理属性Null默认额外idint(10)UNSIGNED是NULLTagidtagchar(12)utf8generalci是TAG内容countint(10)UNSIGNED是0点击totalint(10)UNSIGNED是0文档数weekccint(10)UNSIGNED是0周统计monthccint(10)UNSIGNED是0月统计addtimeint(10)UNSIGNED是0添加时间dedetaglist|TAG标签列表表字段类型整理属性Null默认额外tidint(10)UNSIGNED是0TAGIDaidint(10)UNSIGNED是0文章IDarcranksmallint(6)是0typeidsmallint(5)UNSIGNED是0栏目IDtagvarchar(12)utf8一general_ci是TAG内容
织梦二次开发教程(九)DEDECMS自定义模型使用教程在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下凡种模型:普诵文章、图集、软件、商品、分类信息、专题。诵过系统自带的模型,我们可以用来构建不同类型的站点,例如:使用图集可以做一个图片站,用软件模型构建一个软件下载站点。当然以上随系统附带的模型被称为系统模型,用户可以自己定义一些模型,比如图书、音乐专辑等,自定义了这些模型才可以构建更多内容形式的站点,本篇将讲述如何使用系统的自定义模型管理功能来实现内容模型的构建。我们首先登录系统后台,点击[核心]-[内容模型管理],进入内容模型管理界而如下图所示:这里我们介绍凡个相关参数的概念:•ID号用于区分模型的唯一ID,一般常规模型的ID都是大于0的,比如普诵文章、软件等,如果使用了单表模型,ID一般需要小于-1,例如这里的分类信息模型:•频道名称用于识别频道类型的标识:•识别id系统用于识别的id,这个关系到模板方面:•附加表系统内容附加表项:・模型类型分为系统类型和自动类型,系统类型为固化在系统中的内容模型,自动类型为用户可创建的内容模型类型:接下来我们开始介绍如何使用自定义模型管理来创建一个自己的模型,并且用于建设不同内容类型的网站中大。这里我们介绍一些周边的内容,凡个要用到的概念:•字段在数据库中,表的列称为字段,织梦系统也是如此,但更恰当的说法,存储某个内容信息单亓,称为字段,例如标题、来源、作者等都是一个字段:
•内容系统主表程序将一些公用字段存储在系统主表dede_archives,例如:标题、关键词、缩略图等,主表具体字段可以杳询织梦帮助中心()的有关二次开发手册数据表部分的内容:•附加表不同内容模型对应不同的附加表,通常以dedeaddon[识别1。]命名,附加表中存放的都是详细内容的相关字段(非公用),例如:文章内容(dede_addonarticle)、软件类型(dede_addonsoft)、图片集合(dede_addonimage)等;•单表独立模型存储时候不用到“主表+附加表”的结构形式,直接使用单个数据表进行存储内容数据,这样脱离主从表,减少主表数据服在开销,可以从很大程度上解决数据负载问题:明白了以上几个概念我们可以来学习如何来自己创建一个内容模型了。一个完整的内容模型包含模型数据表、数据字段、模型模板、模型参数4个部分,制作一个内容模型大致有以下凡个步骤:1.模型规划I;2.模型制作;3.模板制作:4.栏目设詈,下面我们从上面4个步骤来讲解内容模型的制作。这里我们以一个图书模型(book)为例子,这个模型主要功能就是介绍书籍。模型规划模型规划分为凡个部分一个是模型应用方面的规划,其次就是字段信息方面的规划,以图书(book)模型为例子,我们现规划一个频道使用这个模型,这个频道作用就是让大家分享一些好的学习资料,这里主要是编程方面的书籍,所以栏目划分大致如下:「网络编程书籍]|[ASP相关]|[PHP相关]|[JSP相关]|[.NET相关]这凡个栏目是支持会员投稿的,因为这个推荐的书籍不是很多,所以直接采用主从表的形式,不使用独立单表模型,因为涉及到会员分享,所以这里需要会员投稿,我们给投稿会员级别设詈为
中级会员才有权限,并且需要摘要和说略图,投稿之后需要经过管理员审核,这样基本的使用规划完成,下而就是字段方面的规划了。因为介绍一本书,我们规划了以下内容:出版社publish单行文本(varchar)出版时间pubtime时间类型字数cnum整数类型版次pubnum整数类型页数pagenum整数类型印刷时间pritime时间类型开本kbook单行文本(varchar)印次prinum整数类型纸张pages单行文本(varchar)ISBNisbn单行文本(varchar)包装packs单行文本(varchar)内容简介bodyHTML文本作者简介wrbodyHTMI文本目录bindexHTML文本这样,我们完成了第一步模型的规划。模型制作规划完成了,接下来我们开始将这些规划的内容创建为一个内容模型。首先以超级管理员身份登录到系统后台。点击[核心]-[模型管理],点击“增加新模型”按钮来创建模型。
按照系统提示配置模型的基本信息,这里因为诜择的是自动模型,所以档案发布的相管程序页而只需要保留默认即可。因为我们发布的是图书,所以这里“投稿标题使用名称”设詈为:图书名称。因为这里我们使用的是自动模型,没有自己制作相应的发布管理程序,所以下面的相关模型发布程序保持默认即可,当然如果你有一定的编程能力,可以自己制作一个内容发布程序,然后在这里指定即可。基本信息设置完毕,直接单击确定即可,进入到字段管理的页面,点击字段管理中的“添加新字段”按钮,进入字段添加页面,我们根据相关的字段信息进行字段添加。下面是一些字段类型我们对部分字段进行一些说明:单行文本(varchar):常用字段,如文章标题、作者等都属于直接输入少量内容的文本,设置这个文本之后需要指定文本长度,默认为250,如果大于255则为text类型多行文本:也是较为常用的字段类型,如个人简介、产品描述都可以使用多行文本进行存储HTML文本:用织梦编辑器编辑产生的html内容,用于比较复杂的内容形式附件类型:可以后台上传附件让用户下载,附件类型可以在后台进行设詈option下拉框:下拉选择,一般用于如软件类型、语言类型等字段联动类型:一种数组形式的数据类型,可以在系统后台联动类型管理中进行设置了解了这些字段类型我们就可以添加我们的字段信息了。添加完成点击确定即可,这样我们就完成了这个模型的制作。模型添加完毕之后我们发现在内容发布的地方多出来一个发布图书的选项,这个说明我们的模型就已经成功添加了。模板制作
我们诵过织梦帮助中心的《主要模板文件与功能说明》了解到每个模型还需要制作对应的模型模板文件,我们可以诵过后台模型管理中的模板文件说明杳看模板文件。模板制作主要有2个地方需要讲解下。列表页模板list[识别ID].htm中显示在列表中需要调用添加扩展的字段需要在添加字段页而勾选“使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表杳询变慢,如无必要请不要选择)”,这样在{dede:list/}标签中就可以使用[field:fieldname/]来进行调用。内容页的标签可以使用{dede:field.fieldname/}进行调用,具体可以参考帮助中心模板相关的帮助文档。栏目设詈接下来我们就可以来添加一个栏目,在栏目设置中将栏目的内容模型设置为图书然后我们就可以在这个栏目下添加文档,会发现我们现在可以发布图书内容了添加完成之后,我们可以浏览我们的网站页面,预览我们的模型效果。至此我们完成了整个模型的制作,整个过程还是非常简单的。这里只介绍了自动模型的制作,当然有一定PHP基础的用户可以白已开发系统模型,这样就会拥有更为强大的织梦系统,使得网站内容更加丰富。织梦二次开发教程(十)Dedecms联动类别使用说明教程织梦在新版本V5.3中加入了一个联动类别的功能,不少人不理解这个联动类别的使用方法,本教程天涯就来介绍如何使用这个功能。联动类别使用的地方还是比较多的,首先我们可以通过后
台的[核心]-[频道模型]-[联动类别管理]查看,联动类别其定义如下:系统一种特殊的枚举数据类别,可以有系统内置或由用户管理。系统内置的枚举用户是不可以删除的,但可以对这些数据进行添加子分类及修改。到这里可能一些用户还是不了解什么是联动类型,WWW.IIWNET.COM下面我们举几个简单的例子。一个最简单的联动类型是只有一级选择的类型,比如说系统内置的星座、教育程度、血型,这种类型你可以点击进去查看,其结构很简单,例如星座(star):在这个联动类别中级数为“一级选择”,就是在这个星座类别下面只有一列品级数据进行选择,我们点击进去可以查看到以下内容:这个让我们很容易联想到许多网站中设置用户资料的时候,需要用户选择星座,我们就可以通过一个下拉框进行选择:当然,上面说到的是最简单的联动类别,只有一级联动,这种一级联动就可以好比是一个下拉框,用户在选择具体数据的时候只要通过下拉框这种形式就可以对数据进行选择。但是我们在很多联动数据中遇到不少需要二级联动的类型,例如我们在资料设置中选择“所在城市”这个类别,如下图所示这种数据类型就属于需要选择2次分类,首先选择上海市,然后列出上海市拥有的地区,然后再进行第二次选择,这就是一个二级联动的类别,我们可以通过系统后台查看联动类别中的地区来看看系统的枚举类型。通过以上2个例子我们不难理解联动类型的概念,其实说简单了就是一种特殊的枚举数据类型,这种特殊的枚举类型运用在创建内容模型、用户资料等数据录入的页面中,其中应用在创建模型及用户自定义表单是联动类别最常用的地方,下面我们来介绍如何使用这个联动模型。我们以创建一个“图书(book)”内容模型为例,这个模型中我们需要网站管理员(用户)提交一个图书
特征的分类,我们知道以下图书特征的分类:线装书,精装书,平装书,袋装书,电子书,有声读物,盲人书下面我们就创建一个这个一级选择的枚举类型,这个类型叫图书特征(bookfeature),我们点击“新增类别组”来创建分类。创建完成后我们将类别的内容全部添加到这个类别中去,在页面中提示我们如果一次性添加多个类别可以用“,”将不同类别隔开,然后一次性添加。这样我们就创建完成了这个图书特征(bookfeature)的联动类型,接下来我们要应用这个联动类型,我们在新创建的模型中添加字段,在字段添加的页面中添加相应的字段名称,选择数据类型为联动类型,如下图所示:在我们发布图书内容的时候,就会发现有一个选择是图书特征的内容类型选择,不过个人建议如果设计一级联动选择,最好还是使用“option下拉框”这个数据类型。使用同样的字段设置方法也可以添加其他二级联动的字段,这个我们可以查看“分类信息”这个模型里面的联动类型数据。当然我们在系统的自定义表单中也可以使用这个联动类型,使用的方法和模型管理里面添加字段是一样的,这里就不再重复了。当然,在二次开发中也会遇到在一些页面调用这些枚举的列表,可以查看/include/enums.func.php第61行GetEnumsForm这个函数,具体的使用可以参考下会员中心编辑用户信息这个页面文件的方法,具体文件为/member/templets/edit_info_person.htm。枚举类型在模型制作和系统开发中用到的地方还是比较多的,大家可以有空的时候进行一些研究,会发现更多关于联动类型的应用方法,不要忘记分享哦。二、织梦dedeCMS模板制作教程织梦DEDECMS模板制作教程(一)-标签标记大纲1.Arclist标记的应用,使用率很高,相当实用,所以我们使用都必须熟练掌握。
Field标记在封面模板、列表模板、文档模板的使用频率很高,实用。主要用来获得到系统变量的值或者路径,用法很灵活。可以直接展示数据,如调用position,得到栏目一>栏目二”这样形式的链接:或者,调用templeturl得到/templets这样路径。Channel标记主要用于获取栏目列表,用法非常简单,主要是区分“type=top,sun/son,self”的所调用的对象就行了。Type标记表示指定的单个栏目的链接,用法非常简单。Autochannel标记使用实例Mytag标记使用实例板中多次出现的相同元素用一个自定义标记表示出来,从而达到,一次更改,全局更换的效果。辅助插件的广告管理也有相似的效果。Type标记用于获取一组投票表单。其使用范围限于:封面模板。Flink标记使用实例用于获取友情链接。调用该标记后可以得到四种友情链接的形式。Mynew标记使用实例用于获取站内新闻。站内新闻有利于站长及时与会员沟通。ChannelArtlist标记使用实例用于获取当前频道的下级栏目的内容列表。该标记在封面模板(包括主页)中的经常被用到List标记使用实例Pagelist标记使用实例Pagebreak标记使用实例Prennext标记使用实例Pagetitle标记使用实例织梦DEDECMS模板制作教程(二)-Arclist标记使用实例arclist标记的使用思路、步骤:
一、明确使用范围我们在使用任何标记的过程中,都必须明确其使用的范围,否则可能无法正常调用该标签,【Arclist标记】的使用范围是:封面模板、列表模板、文档模板。即对应templets\default\文件夹下的index一识别ID.htm模板、list_识别ijID.htm模板、article.识别ijID.htm模板)二、通过调试了解其使用方法我调试的方法是:将templets\default\文件夹下的index.html文件代码,全部掏空。放入调用【Arclist标记】的代码,再在IE中访问网站主页index.php,就可以得到返回的数据。注意:其它文件保持不变,我不懂PHP,只能用这种方式调试,相信朋友们很容易上手的。我调试【Arclist标记】的具体代码如下:{dede:arclisttypeid=''row='1'titlelen='20'infolen=''imgwidth='100'imgheight='80'}vfontcolor="red">文章ID:</font>[field:ID/]<br/>vfontcolor="red">文章标题:</font>[field:title/]<br/>vfontcolor="red">文章短标题:v/font>[field:shorttitle/]vbr/>vfontcolor="red">文章标题的文字链接:v/font>[field:textlink/]<br/>vfontcolor="red">文章作者:</font>[field:writer/]vbr/>vfontcolor="red”>文章发表日期:</font>[field:stime/]vbr/>vfontcolor="red">文章所属栏目的目录:</font>[field:typedir/]vbr/>vfontcolor="red">文章所属栏目的名称:v/font>[field:typename/]vbr/>vfontcolor="red">文章所属栏目的文字链接:</font>[field:typelink/]vbr/>vfontcolor="red">文章的图片链接:v/font>[field:imglink/]vbr/>vfontcolor="red">文章的缩略图:</font>[field:image/]vbr/>
{/dede:arclist}文章篇幅所限,未能列出所有的属性和字段调用的方法。请朋友们举一反三,增删属性和写入代码进行调试,加深印象。最好是对照官方的Dedecms文档进行调试,我这样做收获很大的。三、【Arclist标记】延伸出来的别名标记(实用又个性化,建议关注使用)为了使网页内容更具个性化,人性化,官方在【Arclist标记】的基础上延伸出来一些别外标签,如:hotart、coolart、likeart、artlist、imglist、imginfolist、specart、autolist。寸虫常好!我调试【imglist标记】的具体代码如下:{dede:imglisttypeid=''row='2'col='1'titlelen='20'infolen=''imgwidth='100'imgheight='80'}[field:imglink/][field:textlink/]<br/>{/dede:imglist}织梦DEDECMS模板制作教程(三)-Field标记使用实例Field标记使用思路、步骤:一、明确使用范围我们在使用【Field标记】的过程中,必须明确其使用的范围,否则可能无法正常调用该标签,其使用范围是:封面模板(如indexarticle.htm)、列表模板(如listarticle.htm)、文档模板(如articlearticle.htm)。indexarticle.htm、listarticle.htm、articlearticle.htm等类似的模板文档都在templets\default\文件夹中。庄后:1、封面模板与列表模板是有区别的,但调用【Field标记】可以相同;
2、封面模板有不同的类型,我们最常用的是文章模板(indexarticle.htm),其它的还有图片模板(indeximage.htm),简介模板(indexinfo.htm),软件模板(indexsoft.htm)等等,这些模板调用【Field标记】的道理都是一样的。二、通过调试了解其使用方法我调试的方法是:将templets\default\文件夹下的listdefault.htm和htmlistarticle.htm文件中的代码,全部掏空。放入调用【Field标记】的代码,再在管理后台进行操作,如下:HTML更新-->更新栏目HTML-->开始生成HTML。再在IE中访问网站的各栏封面和列表,就可以得到返回的数据。用法一:这种用法,主要是从数据库获取相关的数据,特别是系统变量的数据。我调试【Arclist标记】的具体代码如下:<fontcolor="red">调用position标记,得到:栏目一>栏目二”这样形式的链接:</font>{dede:fieldname='position'/}<br/><fontcolor="red">插件路径:</font>{dede:fieldname='phpurl'/}<br/><fontcolor="red">模板路径:</font>{dede:fieldname='templeturl'/}<br/><fontcolor="red">版权信息:</font>{dede:fieldname='powerby'/}<br/><fontcolor="red">主页路径:</font>{dede:fieldname='indexurl'/}<br/><fontcolor="red”>主页名称:</font>{dede:fieldname='indexname'/}<br/>请朋友们举一反三•,增删属性和写入代码进行调试,加深印象。最好是对照官方的Dedecms文档进行调试,我这样做收获很大的。用法二:
这一种用法比较灵活,作用也非常大,但必须有HTML知识才能运用的比较好,我调试【Arclist标记】的具体代码如下:<linkhref="{dede:fieldname='templeturl'/}/style/dede.css"rel="stylesheet”type="text/css"/>注意:本页而的文字和链接都是经过dede.css处理的<br/><ahref="/">织梦论坛</a><br/>织梦DEDECMS模板制作教程(四)-Channel标记使用实例Channel标记使用思路、步骤:一、明确使用范围我们在使用任何标记的过程中,都必须明确其使用的范围,否则可能无法正常调用该标签,【Channel标记】的使用范围是:封面模板、列表模板、文档模板。二、诵过调试了解其使用方法我调试的方法是:将templets\default\文件夹下的index.html文件代码,全部掏空。放入调用【Channel标记】的代码,再在IE中访问网站主页index.php,就可以得到返回的数据。调用方法一:我调试【Channel标记】的具体代码如下:{dede:channelrow='3'type='top'}<ahref="[field:typelink/]">[field:typename/]</a>{/dede:channel}
织梦DEDECMS模板制作教程(五)-Type标记使用实例先看下下而调用代码{dede:autochannelpartsort='1'/}{dede:channeltypeid='1'}[field:typename/]{/dede:channel}{dede:autolistrow=12titlelen=38orderby=pubdatepartsort='1'}[field:textlink/]{/dede:autolist}autochannel,autolist是专门给懒人用的,partsort的属性是表示排列顺序为某位置,它是栏目排列的位詈,不是ID,这样的好处是,没有某个ID,只要有足够的栏目,也会显示内容,这个标记如果加了typeid,则变成获取特定栏目的子栏目的这个排序位置的内容了织梦DEDECMS模板制作教程(六)-Mytag标记使用实例自定义宏标记【Mytag标记】的作用:可以将模板中多次出现的相同元素用一个自定义标记表示出来,从而达到,一次更改,全局更换的效果。辅助插件的广告管理也有相似的效果。【Mytag标记】的实例教程「教程1自定义宏标记的应用今天天涯来介绍下自定义宏标记的应用,大家可以进入后台,在“模板管理”-》“自定义宏标记”中查看到该选项。自定义宏标记的作用:可以将模板中多次出现的相同元素用一个自定义标记表示出来,从而达到,一次更改,全局更换的效果。辅助插件的广告管理也有相似的效果。
适用范围:网页模板中多次出现的相同元素,例如:网站的导航条、网站的站点公告、网站的底部信息等,在我之前发布的几套模板中都运用到
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新形势下快捷酒店行业可持续发展战略制定与实施研究报告
- 新形势下虚拟现实VR行业快速做大市场规模战略制定与实施研究报告
- 2024年一年级语文上册教学总结
- 2019-2025年中国番红花行业市场运营现状及投资规划研究建议报告
- 三年级数学计算题专项练习及答案集锦
- 船舶玻璃纤维通信天线杆 10米高透波绝缘监控支架 玻璃钢照明灯杆
- 多肉病虫知识培训课件
- 二零二五年度商务中心租赁合作协议3篇
- 二零二五年度医疗健康大数据分析与咨询服务合同2篇
- 水平评价类技能人员职业资格退出目录安排(水平类76项)
- 流行性感冒诊疗方案年版课件
- 水果购销合同模板(精选5篇)
- 个人征信授权书模板
- 2021级选课走班指导课件
- 沥青路面面层施工质量控制(图文并茂)
- 嘉定区启良中学委托管理方案(调整稿)
- XIRR测算公式本金(模板)
- Chinese Tea Culture.中国茶文化(课堂PPT)
- 排洪沟工程设计说明
- SMT工资方案(原创)
- 关于矿棉装饰吸声板检验报告加图标版
评论
0/150
提交评论