Dedecms的代码很有特色,只要熟悉以后很快就能上手而且使用非常灵活。dede模板引擎的代码样式有如下几种形式:
{dede:标记名称 属性='值'/}
{dede:标记名称 属性='值'}{/dede:标记名称}
{dede:标记名称 属性='值'}自定义样式模板(InnerText){/dede:标记名称}
从上面我们可以看出,dede模板引擎的代码可以分为标记名称、属性和自定义样式模版三部分,标记名称和属性用{}包围。
先看下面的例子:
{dede:arclist typeid='0' titlelen='28' row='10' }
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
{/dede:arclist}
上面是最基本的取得最新内容列表标记arclist,由开始标记
{dede:arclist 属性typeid='' titlelen='28' row='10' col='1'}
模版样式 <li><a href='[field:arcurl/]'>[field:title/]</a></li>
和结束标记 {/dede:arclist}
组成。当你完成页面制作后,便可开始添加dede代码。没有添加dede代码之前:
<ul>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
</ul>
添加代码后:
<ul>
{dede:arclist typeid='0' titlelen='28' row='10' }
<li><a href='[field:arcurl/]'>[field:title/]</a></li>
{/dede:arclist}
</ul>
模版解析后就是添加代码前的样子。列表list标记,友情链接flink标记,导航channel标记,站内新闻mynews标记等待都是同样道理。
文章页里用到{dede:标记名称 属性='值'/},如{dede:field name='title' /}就是文章标题的意思。
模 版里面的路径问题:Dede使用{dede:global name='cfg_basehost'/}/templets/w3cpro/img/css.css,
{dede:global name='cfg_basehost'/}是取得网站根目录的意思。这里有个模版保护问题,如果你珍惜你的网页模版,就把img目录独立分离出来,这样 别人就不会知道你的模版目录。
dede3.1lit版本增强了系统设置,模版的所在位置可以在系统设置里设定,把模版文件夹放到templets,栏目设置里{style}代表了模版文件。
下面提供本站实例给大家参考使用,页面制作并不复杂,适合大家学习使用。
总共制作了文章,图片(采用文章系统),下载三个系统模版,其他模版可以根据提供的页面修改。
index_in.html——主页
list.html——列表页
index_arc.html——文章页、下载封面
index_img.html——图片封面
list_img.html——图片列表
search.htm——搜索页面
article.html——文章页
article_down.html——下载页
article_img.html——图片
修改的文件:
inc_archives_view.php——上一篇下一篇分开调用,且限定文章所在栏目内而不是现在的全站。
inc_arcpart_view.php——更改友情链接flink
inc_channel_unit_functions.php——调用arclist标签无法读出此栏目为副栏目的文章的应急解决方案
inc_functions.php——跳转提示页标题修改
inc_vote.php——投票修改
增加的文件:
为了全站显示登入系统后的状态,member目录增加几个文件。
index_doo.php
index_login.php
login.html
config_g.php
logined.js
templets/index_login.html
下载后放到网站templets,参照上面设置即可。
dede:loop 标签下使用[field:global name=autoindex/]方法
用dede:loop标签调用论坛贴子时,用 [field:global name=autoindex/]递增,如<li class=1>,<li class=2>,,,等。
要修改一个文件。
include\taglib\loop.lib.php
找到
$ctp->LoadSource($Innertext);
下面加上:
$GLOBALS['autoindex'] = 0;
找到
if(!empty($row[$ctag->GetName()])){ $ctp->Assign($tagid,$row[$ctag->GetName()]); }
}
下面加上:
$GLOBALS['autoindex']++; //每循环一次加上一个1然后解析出来
就OK了。
自定义搜索的链接写法
<a href='http://127.0.0.1/plus/advancedsearch.php?&mid=-8&tid=5&shi=3&ting=1 ' target="_blank">3室1厅</a>
其中mid=-8是模型ID,tid=5是栏目IDshi和ting是字段3和1是自定义搜索
备注:前提下先你需要先将shi和ting设置为自定义搜索