DEDECMS之二 如何修改模板页

简介: 使用织梦系统最经常是为了仿站,那么模板应该怎么改? 这里主要谈谈关于比较常用的几个模板页 网站主页、列表页、内容页、栏目的调用 1.主页模板 常用组合方法:index.htm + head.htm + footer.htm 嵌套语句:{dede:include filename="head.htm"/} head.htm :网站头部(顶部+导航栏),所以也可继续拆分。

使用织梦系统最经常是为了仿站,那么模板应该怎么改?

这里主要谈谈关于比较常用的几个模板页

网站主页、列表页、内容页、栏目的调用

1.主页模板

常用组合方法:index.htm + head.htm + footer.htm

嵌套语句:{dede:include filename="head.htm"/}

head.htm :网站头部(顶部+导航栏),所以也可继续拆分。一般顶部内容为从body后开始至导航栏。

复制代码
导航栏 (自动获取栏目信息)
<div id="navtabs">
      <a href="{dede:global.cfg_cmsurl/}/" class="current">首页</a>
    {dede:channel type='top' row='10' currentstyle="<a href='~typelink~' >~typename~</a>"}
      <a href='[field:typeurl/]' >[field:typename/]</a>
       {/dede:channel}
</div>

二级栏目:直接指定所有二级链接,原网站都有js控制,直接拿来用就行
复制代码

footer.htm:网站底部,包含版权信息,具体看实际的布局,大部分网站的友情链接作为独立模块在底部,包含进来更方便。

首页调用文章列表的方法,通过标签进行嵌套就行

示例:

复制代码
{dede:arclist row='9' typeid='2' infolen='300'}
<li><div class="ntitle f_l">
·<a href="[field:arcurl/]" class="hei" title="[field:fulltitle/]" target="_blank">
[field:fulltitle  function='cn_substr(@me,80)'/]
</a></div>
<div class="ndate f_r"><a href="[field:arcurl/]" class="hui" target="_blank">[field:pubdate function="MyDate('Y-m-d',@me)"/]</a>
</div></li>
{/dede:arclist}
复制代码

效果:

dede arclist里field:body的调用方法:
用arclist调用附加表字段,要获取附加表内容,必须指定两个条件:1、指定channelid 属性;2、指定要获得的字段addfields='字段1,字段2'。

{dede:arclist row='5' channelid='1' addfields='body' typeid='1' orderby='rand'}
控制body的长度:[field:body function="cn_substr(html2text(@me),120)"/]
{/dede:arclist}

缩略标题

[field:title function='(strlen("@me")>60?cn_substr("@me",60)."…":"@me")'/]

 

2.文章列表页

栏目名称:{dede:field name='typename' /}

获取顶级栏目下的所有栏目:

复制代码
{dede:channel type='son' typeid='1'}
<li>
<a href="[field:typelink/]" title="[field:typename/]" style="color:#003366;background-position:-46px -78px;">[field:typename/]</a>
</li>
{/dede:channel}
复制代码

获取栏目下的文章分页列表

复制代码
{dede:list pagesize='5'}
<li>
<div class='fleft'>
<h1>
<a href="[field:arcurl/]" title='[field:title/]'>·[field:title/]</a>
<span class='addtime'>[field:pubdate function='strftime("%Y-%m-%d",@me)'/]</span>  <img src="/images/public/hot06.gif">
</h1>
<p>
       [field:body function='cn_substr(html2text(@me),350)'/]...
 </p>
</div>
    <a href="[field:arcurl/]" title='[field:title/]' class='a'>查看详情 >>></a><div class='clearfix'>
</div>
</li>
{/dede:list}
复制代码

分页

复制代码
<style type='text/css'>
.pagelist{padding-top: 10px;padding-bottom: 10px; text-align: center;}
.pagelist li{  display: inline;  line-height: 22px;}
.pagelist li a{margin-right: 5px;padding-right: 5px;padding-left: 5px;padding-top: 3px;padding-bottom: 3px;border: 1px solid #CCC;
         }
.thisclass {font-weight: bold;color: #C00;}
</style>

<ul class="pagelist"> {dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/} </ul>
复制代码

效果:

3.文章内容页

文章标题:{dede:field.title/}

网站名称:{dede:global.cfg_webname/}

来源:{dede:field name='source'/}

标签:

复制代码
 <div class="singleout">
            <div class="singlein">
                <div class="news_show">
                    <h1 style="color:#003366;">{dede:field.title/}</h1>
                    <h2 style="border-top:#663300 1px dashed;color:#666666;">
发布者:{dede:field.writer/}
发布时间:{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}    
点击:<script src="{dede:field name='phpurl'/}/count.php?view=yes&aid={dede:field name='id'/}&mid={dede:field name='mid'/}" type='text/javascript' language="javascript"></script>次
            </h2> <div class="showcontent">
                {dede:field.body/}
            </div> </div> </div> </div>
复制代码

 

上一篇下一篇

<ul> 
    <li>{dede:prenext get='pre'/}</li>
    <li>{dede:prenext get='next'/}</li>
</ul>

直接调用上一篇地址和下一篇地址的代码如下:

上一篇地址

{dede:prenext get='pro' runphp="yes"}preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}

下一篇地址

{dede:prenext get='next' runphp="yes"}preg_match_all('/<a.*?(?: |\\t|\\r|\\n)?href=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>(.+?)<\/a.*?>/sim', @me, $strResult, PREG_PATTERN_ORDER);@me=$strResult[1][0];{/dede:prenext}

内容分页

1.分页标签:“{dede:pagebreak/}”,一般是添加在“{dede:field.body/}”标签之后

2.进入系统—系统基本参数—性能选项,选择第二项:是否开启长文章自动分页,选择是即可。

3.发布文章的时候,需要在哪里设置分页,就在“编辑器”里面,选择以下:#P#, 在内容页自动插入文本 “#p#副标题#e#”

4.修改分页样式

修改文件位置:include/arc.archives.class.php找到静态页面分页方法GetPagebreak,即可修改,

默认生成代码模块如:<li><a>共1页:</a><li> <li><a>上一页</a><li> <li><a>1</a><li> <li><a>下一页</a><li>

 

4.栏目内容页

使用场景:栏目只有一个页面

使用方法:在栏目模板中用{dede:field.content/}调用

 

5.图片调用方法

1.<a href='[field:arcurl /]'><img src='[field:litpic/]' border='0' width='' height=''></a>

2.[field:imglink /]

3.<a href='[field:arcurl /]'> [field:image/]</a>

说明:

[field:imglink /]与<a href='[field:arcurl /]'>[field:image/]</a> 是完全等价的

 

在文章内容页加入图片标签:<img src="{dede:field name="litpic"/}" border="0">

相关文章
|
25天前
|
前端开发
技术好文共享:(转)discuz教程:制作网站模板前必须了解的界面结构(页头页尾模板文件)
技术好文共享:(转)discuz教程:制作网站模板前必须了解的界面结构(页头页尾模板文件)
|
运维 测试技术
WordPress博客系统菜单分类出现404解决方法
WordPress博客系统菜单分类出现404解决方法
420 0
WordPress博客系统菜单分类出现404解决方法
|
存储 搜索推荐 机器人
在Joomla中创建自定义404页面
默认情况下,Joomla不提供可以轻松创建和管理的404页面。当你的访问者访问你网站上的一个失效的URL时,404是非常有用的。 我将演示如何创建自定义404页面。 我们将创建一篇文章,添加一个菜单链接,然后在模板文件夹的文件中添加一些代码。
|
PHP SQL
dedecms 模板自定义相关
dedecms  生成静态页的存放目录是根据dede_archives表中的senddate发布时间生成的Y/md 织梦cms  搜索结果页 模版,在templets/default/search.htm,更改搜索结果的分页样式在arc_searchviews.class.php  中的GetPageListDM此方法。
5236 0
|
前端开发 PHP
WP主题模板制作修改教程
WP主题模板制作修改教程 实际上,当我们打开某个主题的文件夹时,看到的并不止这两个文件,而是更多。但一般来说,在一个完整的 WP 主题文件夹中都应该包含下列文件(也称为模板文件):页面 模板文件 用途首页 index.
1599 0
|
JavaScript PHP 开发者
PHPCMS后台首页去掉开发者信息
打开文件:phpcms/modules/admin/templates下面的main.tpl.php 用下面代码替换掉文件原来代码: $(function(){if ($.
1044 0
整理的dedecms标签大全,方便查找
  平时用dedecms开发经常会用到一些标签,特别是首页、栏目页、内容页,这些页面都会用到标签的调用,比如title、keywords、description、arclist、field.body等,为了方便查找,ytkah特地整理了dedecms标签,大家可以用ctrl+F实现搜索。
1572 0
|
数据库
DEDECMS之三 首页、列表页怎么调用文章内容
一、首页调用  百度了很多,没有找到实际的解决方法,对于直接读取数据库,这种写法不会采取。 后来,仔细考虑,这部分解决的内容不会很多,所以直接使用了简介的内容 方法一(默认长度55) [field:info function='cn_substr(html2text(@me),350)'/].
1043 0