dedecms 基本包含了一个常规网站需要的一切功能,拥有完善的中文学习资料,很容易上手,学习成本较低。学会dedecms 的模板修改、栏目新增、内容模型新增和常用的标签调用方法后,即便我们不懂 php 语言也能独立完成一个网站了。

在百度网盘中分享,织梦CMS模板制作手册 http://pan.baidu.com/s/1boHLg0f

对于本次项目中使用到的方法和技巧总结如下:

一、标签调用

1. title(标题调用):

首页:{dede:global.cfg_webname/}。cfg_webname 是网站名称的变量名,在 dedecms 后台-->系统基本参数-->站点设置中能发现。

列表页(或单页面):{dede:field.seotitle/} | {dede:global.cfg_webname/}。{dede:field.seotitle /} 是 seo 标题,在 dedecms 后台,对应栏目的高级选项中能发现,需要保证 seo 标题已经填写了。而后面加上 | 和网站名称,是一般网站的做法,也可以不加。

内容页:{dede:field.title/} | {dede:global.cfg_webname/}。{dede:field.title/} 是内容页调用的标题方法,不仅在 title 标签里可以这样调用,在其他地方需要用到标题时都可以这样调用。比如我在项目中使用到的在其它地方:

<nav>
<!-- 在手机端,下面的标题才显示 -->
<h1>{dede:field.title/}</h1>
<!-- 在手机端,下面的菜单通过切换菜单按钮进行显示和隐藏 -->
<button id="menu"><i class="iconfont icon-menu"></i></button>
<ul class="nav-list clearfix">
<!-- 当前页面的 a 加上 active 类 -->
{dede:include filename='wqxf_nav.htm'/}
</ul>
</nav>

field 是用于获取特定栏目或者档案的字段值及常用的环境变量值。

对于内容页,{dede:field.title/} 这种形式的调用方法( field.字段/ )能调用很多我们需要的内容。

{dede:field.shorttitle/} 副标题,{dede:field.keywords/} 关键词,{dede:field.description/} 简介...

首页和内页,{field:title/} 这种形式的调用方法( field:字段/ )能调用很多我们需要的内容。

2. 模板的调用:

很多网站的页头和页尾都是一样的,这种情况下,我们可以把这样相同的部分提取出来,单独新建一个模板存放。如果有修改的话,只需要修改一处就可以了,这和把网站的 css 单独写在一个文件里并独立出来是一个道理。

例如:

我把网站的页尾部分单独新建了一个模板存放,取名为 wqxf_footer.htm。当某一个页面需要用到页尾部分的代码时,直接可以这样:{dede:include filename='wqxf_footer.htm'/}。

同样的,如果网站页头部分一样,可以这样:{dede:include filename='wqxf_header.htm'/}。wqxf_header.htm 为文件名,里面是页头部分的代码。

3. 导航:

导航的调用方法,是循环调用网站栏目名称。以网站导航只有一级为例,将这代码新建一个模板 wqxf_nav 存放,

<li><a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a></li>
{dede:channel type='top' row='6' currentstyle="<li><a href='~typelink~' class='active'>~typename~</a></li>"}
<li><a href="[field:typelink/]" title="[field:typename/]">[field:typename/]</a> </li>
{/dede:channel}

解释:

(0). 一般网站栏目里都没有首页这个栏目,所以首页需要单独单用,没法循环,首页不使用模板调用 {dede:include filename="wqxf_nav.htm"} 的方式。

(1). <li><a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a></li> 中 / 为网页主页链接(在系统参数的站点设置里可以发现),它的变量名为 cfg_indexurl,所以也可以使用 {dede:global.cfg_indexurl/} 调用。

(2). {dede:global.cfg_indexname/} 调用主页链接名,cfg_indexname 是主页链接名的变量名。

(3). type="top" 表示调用顶级栏目,也就是一级栏目。

(4). row="6" 表示调用六条数据,也就是六个栏目,出首页这个栏目外,我这里有六个栏目。如果想要调用全部一级栏目,可以不使用。

(5). currentstyle="<li><a href='~typelink~' class='active'>~typename~</a></li>" 很重要,它表示当前样式,比如网站处于当前栏目下,该栏目需要该变一下背景色或者改变文本颜色,我将 class='active' 写在了 a 链接标签下,当然也可以写在 li 列表项标签下,如 currentstyle="<li class='active'><a href='~typelink~'>~typename~</a></li>"

(6). [field:typelink/] 调用栏目链接,[field:typename/] 调用栏目链接标题。type 为指定栏目调用标签。

4. 面包屑导航:

列表页(单页):{dede:field name='position'/},内容页:{dede:field name='position'/} > {dede:field.title/}。从 dedecms 的系统参数的核心设置里可以发现,栏目位置的间隔符号是 " > ",所以我们也使用这种方式增加内容页的标题。

也可以这样按照自己写页面的 html 那样,原样写出来,如:

<nav class="breadcrumbs container">
<ol>
<li>
<a href="/" title="{dede:global.cfg_indexname/}">{dede:global.cfg_indexname/}</a>
</li>
<li>{dede:field.seotitle/}</li>
</ol>
</nav>

这样做的好处是,不需要修改模板源文件,去除最后的" > ",样式都是自己控制好的,看起来美观一些(把自己写的样式也贴上,供参考):

/*面包屑导航*/
.breadcrumbs {
position: relative;
height: 1.7rem;
line-height: 1.7rem;
margin-top: 1.5rem;
}
.breadcrumbs ol {
position: absolute;
top:;
left:;
height: 1.7rem;
line-height: 1.7rem;
}
.breadcrumbs ol li {
position: relative;
display: inline-block;
height: 1.7rem;
line-height: 1.7rem;
padding-left: 1.2rem;
color: #999;
font-size: 1rem;
}
.breadcrumbs ol li:before {
content: ">";
position: absolute;
top:;
right: -1rem;
}
.breadcrumbs ol li:first-child { padding-left:; }
.breadcrumbs ol li:last-child { padding-left: 1.4rem; }
.breadcrumbs ol li:last-child:before { content: ""; } /* 第一个 li 的前面不需要添加生成内容 */
.breadcrumbs ol li a {
display: block;
color: #666;
padding-right: .6rem;
padding-left: .6rem;
transition: all .4s ease .1s;
}
@media(min-width: 1200px) {
.breadcrumbs ol li a:hover { color: #df4526; }
}

看起来是下面的效果

这样做的坏处是,代码很多不够简洁。

5. 栏目内容:

栏目内容是替代原来栏目单独页的更灵活的一种方式,通常用于企业简介之类的用途。官方建议在栏目模板中用{dede:field.content/}调用。

但是这样做有一个弊端:

当一个栏目下有两个子集栏目时,这两个子集栏目中一个新建了自定义的内容模型,一个使用栏目内容发内容。且它们共用一个模板。这种情况下使用 {dede:field.content/} 是调不出内容的。

这时候就用 sql 的方式调用内容:

{dede:sql sql='Select content from xqxf_arctype where id=12'}
[field:content/]
{/dede:sql}

解释:

1. xqxf_arctype 是文章类型的数据库表,xqxf 是数据库表前缀。

2. id=12 是栏目 id。

首页也可以这样调用栏目内容。

以上这 5 点是标签调用的大的方面,后面还会更新:列表调用,多级栏目调用...

dedecms调用标签总结(一)的更多相关文章

  1. dedecms调用标签总结(二)

    6. 列表调用 首页: {dede:arclist row='10' titlelen='24' typeid='2' orderby='pubdate'} <li> <a href ...

  2. 织梦dedecms简略标题调用标签用法指南

    我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面 ...

  3. dedecms 常用标签调用

    /*------------------单个ip调用-------------------*/ {dede:type typeid="12"} <a title=" ...

  4. (转)DedeCms Runphp 标签中调用其他变量的方法

    DedeCms Runphp 标签中调用其他变量的方法 我们都知道,在DedeCMS中是可以使用PHP的,常见的方法就是if else了,例如模板制作中,我们需要对来源和作者进行判断,如果为空,则提示 ...

  5. 织梦dedecms文章发布日期时间调用标签大全

    dedecms首页时间标签: 1.12-27 样式 [field:pubdate function='strftime("%m-%d",@me)'/] 2.May 15, 2012 ...

  6. 三种dedecms友情链接调用标签

    三种dedecms友情链接调用标签: 1.获取友情链接分类 {dede:flinktype}<span>[field:typename/]</span>{/dede:flink ...

  7. DedeCms常用内容调用标签实例大全

    一.调用顶级栏目标签 <a href="{dede:global.cfg_cmsurl/}/" class="ahov">首页</a> ...

  8. 织梦dedecms模板调用标签大全-提高制作模板速度

    关键描述调用标签: ——————————————————————————–模板路径调用标签: {dede:field name=’templeturl’/}—————————————————————— ...

  9. dede 简略标题调用标签

    一.简略标题调用标签: 1.{dede:field.shorttitle/} 不可以在{dede:arclist}标签中套用,一般放在网页titile处; 2.[field:shorttitle/] ...

随机推荐

  1. Intro.js 网站演示

    Intro.js 为您的网站和项目提供一步一步的.更好的介绍 使用简单 引入 js 和 css,然后在代码中加入步骤和介绍. 快速小巧 7 KB 的 JavaScript 和 3 KB CSS,就是全 ...

  2. 25佳漂亮的结婚邀请 & 婚礼请柬网站设计

    互联网给我们的生活带来了巨大的变化,越来越多的事情可以通过网络完成.下面向大家分享一组结婚邀请网站以及婚礼请柬网站的设计案例,如果你也正想制作这样的网站,相信这些优秀案例能够带给你很大的帮助. 您可能 ...

  3. 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题

    适用情况:电脑里本身有NET4.0或4.5版本,并且正确安装.或本身你就装有AutoCAD2013或AutoCAD2012要装AutoCAD2012或AutoCAD2013却装不上的情况 如图1所示. ...

  4. 分配给 主机的 Evaluation Mode 许可证已过期。建议升级许可证。

    参考文献 http://247its.wordpress.com/2012/04/02/new-build-esxi-5-complaints-licence-has-expired/ http:// ...

  5. 【C语言】C语言简介

    目录: 1. [什么是C语言?] 2. [C语言历史] 3. [C语言标准] 4. [C语言特点] 1. 什么事C语言? · C语言是一门高级编程语言,用于人与计算机之间的沟通,就如同人与人之间沟通时 ...

  6. Android项目开发实战-2048游戏

    <2048>是一款比较流行的数字游戏,最早于2014年3月20日发行.原版2048首先在GitHub上发布,原作者是Gabriele Cirulli,后被移植到各个平台.这款游戏是基于&l ...

  7. 安卓开发NDK环境搭建

    第一步preferences - android - NDK 第二步 输入ndk文件所在目录 第三步 创建文件名(右击项目,阿 androidtool - add native sppuort)

  8. MicroStation VBA基础

    实习笔记1 2016年8月1日 14:12 Option Explicit 缺省情况下,如果使用一个没有声明的变量,它将继承“Variant”类型.在模块.窗体和类的通用声明区使用“OptionExp ...

  9. 转载文章----初识Ildasm.exe——IL反编译的实用工具

    转载地址http://www.cnblogs.com/yangmingming/archive/2010/02/03/1662307.html Ildasm.exe 概要:(路径:C:\Program ...

  10. WPF学习之路(七)应用程序和窗口

    手动创建应用程序 1.创建Empty Project 2.添加引用 3.添加 ManualApp.cs 并添加下面的代码 [STAThread] public static void Main() { ...