dedeCMS如何修改一个栏目列表页为单页性质
本文实例讲述了dedecms列表页调用文章正文内容的方法。分享给大家供大家参考。具体分析如下:
一般来说,在列表页面要获取文章内容简单描述的话我们可以直接使用description标签就可以了,但是如果要有很多估计我们需要进行一些简单的修改。
在制作织梦模板的时候,有的时候我们需要调用文章部分内容,用[field:description/]标签字数不够多(数据库设计字段是varchar(255)的),另外修改了文章内容但是摘要还需要手动修改,所以只能调用文章正文内容了
实现织梦DedeCMS列表页调用文章正文的方法有两种,不过都是使用的dede:arclist标签,如果使用dede:list标签的话,第一种方法是调用不出结果的
以下是织梦DedeCMS列表页调用文章正文的第一种方法,代码如下:
复制代码
代码如下:
{dede:arclist flag='h' row='10′}
<h1><a
href='[field:arcurl/]'>[field:title/]</a></h1>
<p>[field:id runphp='yes'] $aid = @me; $row =
$GLOBALS['dsql']->GetOne("Select body From 'dede_addonarticle' where
aid='$aid' "); @me =
cn_substr(strip_tags("{$row['body']}"),400);[/field:id]<a
href='[field:arcurl/]'>阅读详细</a></p>
{/dede:arclist}
代码中的数字400是用来设置需要调用多少内容的,因为调用的是body里面的内容,如果有里面包含代码的话也会被调用出来,这点比较不好,不过可以使用html2tex()函数解决一下
第二种方法则是利用了织梦可以自定义模型内容数据,并调用的原理,把文章模板的body字段看做在自定义的,调用的代码如下:
复制代码
代码如下:
{dede:arclist row='10' addfields='body'
channelid='1'}
<p> [field:body
function='cn_substr(html2text(@me),600)'/]</p>
<span
class="more">
<a href=" [field:arcurl/]" style="text-decoration:none;
color:#990000;"& gt; [详 情]
</a>
</span>
{/dede:arclist}
以下是这种方法的详细说明:
1addrields=”字段一,字段二…”
2idlist:文章编号,调用指定内容
3function=’cn_substr(html2text(@me),600)’ 将文章内容转化为文字格式
4channelid,模型编号,文章默认为1,查看位置:后台–核心–内容模型管理
两种方法各有优劣,第一种方法比较繁琐,不是那么容易看懂,还是比较推荐采用第二种方法实现织梦DedeCMS列表页调用文章正文的功能的
谁说dede:list 标签不能调用body内容,现在就告诉你,直接就可以调用
第一步,打开后台 核心-->频道模型-->内容模型管理-->普通文章,在列表附加字段中添加body
第二步,在dede:list语句中指定addfields='body',然后直接用[field:body/]调用全部内容
实例代码如下:
复制代码
代码如下:
{dede:list pagesize='18' addfields='body'}
<li>
<p>[field:body/]</p>
<p><a
href="[field:arcurl/]"
title="[field:title/]">[field:title/]</a></p>
</li>
{/dede:list}
另外,如果像摘要一样调用可以用,代码如下:
复制代码
代码如下:
[field:body
function='cn_substr(html2text(@me),200)'/]
替代:
复制代码
代码如下:
[field:description
/]
调出文章前200个字符内容,经过这两步,可以彻底关掉系统默认的文章摘要功能,最后还有就是官方的一个[field:description/]字段了,这个如果对于要求几十个字的完全可以了,但是如果太多字此字段就无效了
希望本文所述对大家的dedecms建站有所帮助。
织梦DedeCMS修改模板默认CSS文件分析:首先,打开后台——模板——默认模板管理——indexhtm
看到有一句,<link href="{dede:globalcfg_templeturl/}/style/dedecmscss" rel="stylesheet" media="screen" type="text/css" />说明,我们模板是根据这个CSS来布局网页的,于是我们就打开网站目录下面的templetsstylededecmscss然后来分析一下CSS的构成。
我们根据主页的调用,来研究CSS这样容易理解。我们打开主页模板,找到:
<div class="w960 center clear mt1">/这句是控制除了网站头部和友情链接的所有结构样式/
那么 w960 center clear mt1 都定义了什么呢?我们打开DEDECMSCSS 找打相关的定义。
/---------- stock ---------/
center{
margin:0px auto; 定义了CSS模块的边缘位置都是0,也就是这个center的层 距离上右下左都是0px;
}
w960{
width:960px; 定义了整体的宽度为960px;
/position:relative;/
}
pright infos_userinfo {
margin-bottom: 0px; 定义了首页右部下的 互动中心的下面边缘为0px;
}
mt1{/ ( margin-top 1 ) /
margin-top:8px; 定义了mt1的顶部边缘为8px;
}
pright mt1{
margin-top:0px; 定义了pright 下面的mt1顶部边缘为0px;
}
mt2{/ ( margin-top 2 ) /
margin-top:16px; 顶部边缘为16px;
}
clear{
overflow:hidden; 如果clear层里面的内容超出了 层的范围 就隐藏起来。
}
<div class="pleft">这个pleft 的定义 没有在dedecmscss 中,但是我们会发现一句话
@import url("layoutcss");
@import url("pagecss");
这说明,在dedecmscss 中引用了 pagecss 和layoutcss 这两个样式表,于是我们就在pagecss 中找到了pleft 的定义
pleft{
width:712px;定义了宽度
float:left;该层向左浮动
overflow:hidden;超出范围则隐藏
}
<div class="bignews">
在该层下面调用的是新闻头条的内容,看看它的css
index bignews{
width:424px;
height:400px;
float:right; 向右浮动
border:1px solid #DFF2F5;表示边框线用 #dff2f5的实体颜色填充
background:url(/images/headbg-topgif) repeat-x;背景为 headbg-topgif 并且横向平铺
overflow:hidden;超出则隐藏。
}
所以,我们看到头条的这部分是在flash幻灯片右边显示,并且加上了浅蓝色的边框线。
<!--头条-->
<div class="onenews"> 再来看看 onenews是如何定义的。
index bignews onenews{
margin:0 3px 0 3px; 左右外边距分别空3个像素
padding:7px 6px;上左内边距分别空7,6个像素
border-bottom:1px dashed #EBEBEB;下边框加一个 #ebebeb的虚线
}
所以我们看见头条的文章左右都有一定的距离,并且下面还有一个虚线显示
</div>
<!-- /onenews -->
这个下面调用的是以往的头条,默认的有4篇文章,调用了d1 d1arc 2个css
index bignews divd1{
padding:6px 10px;
clear:both;这句话是清除浮动,如果不加它,大家可以试试看,是不是 d1 这个层就跑到 头条的右边了。
width:406px;
overflow:hidden;
}
index bignews divd1arc{
margin-right:12px;
width:190px;
float:left;因为此时要调用4篇文章,改文章是22排列的,如果不加这个属性,新闻就应该垂直排列了(因为你刚才用clear:both 清除浮动啦),大家试试看是不是这样的。
height:24px;
line-height:24px;行间距,即字体最底端与字体内部顶端之间的距离
overflow:hidden;
}
<!--/头条-->
<div class='newarticle'>最新文章</div>
下面看看 newarticle 这个css吧,还是拿快学网的首页举例子,上面的这句是用来显示 “最近更新”那几个绿颜色字的,看看它是怎么定义的。
index bignews divnewarticle{
height:24px; 高度
background:url(/images/new-articlegif) 8px 3px no-repeat;背景在x轴8px 和y轴3px出出现
font-size:0px;
color:#fff;
} 所以,我们能看到那个 最近更新 并且还有一个横条,其实它是个,大家右键另存为看看就知道了
<ul class="c2 ico1">
这里面调用了 c2 和ico1 两个 css
index bignews ulc2{
width:416px;
padding:0px 4px 0px; 内边距为 上0 右4下0
clear:both;清除浮动 和上面的意思一样
overflow:hidden;
}
ico1 这个css 在layoutcss 中了。
ico1 li{
padding-left:16px; 指的是 新闻列表左内边距为16px
background:url(/images/ico-1gif) 7px 11px no-repeat; 背景在7px,11px 处出现,所以我们看到最新文章的列表左边都有一个小黑点,这个小黑点就是 ico-1gif
}
</ul>
</div>
<!-- /bignews --> 到此,中部的头条新闻和最近更新已经分析完了。
<div class="flashnews">
看看flash的 css 定义
index flashnews{
width:280px;
height:192px;
overflow:hidden;
float:left;这句决定了,flash 的新闻列表在 头条的左边显示。如果你把bignews 和flashnews 的float 属性互换一下应该是上面结果呢?大家试试看。
}
</div>
<!-- /flashnews -->
<div class="latestnews">这边是特别推荐调用的样式,还是来看看css
index latestnews{
width:280px;
height:200px;
margin-top:8px;
float:left;
}
index latestnews dl dd{
padding:2px 5px;
}
index latestnews ul a{
color:#555;
}
方法一:修改栏目属性,改成频道封面,然后把页面内容输入在栏目内容content里面。\x0d\\x0d\方法二:栏目属性还是最终列表栏目(允许在本栏目发布文档,并生成文档列表),修改列表模板,在这个模板里面调用本栏目文档正文显示出来\x0d\\x0d\方法三:编辑栏目的“栏目内容”,然后自定义栏目的模板,在模板中只写{dede:fieldcontent/}这么一句,然后更新栏目就好了。\x0d\后续修改内容只需要在后台修改“栏目内容即可”\x0d\\x0d\第三种方法最简单
其实非常简单,你进入后台找到
模板(不是模块)→智能标记向导
到了这里你会看见 上面有四个单选框,分别是四种显示方式。
选择你所需要的版面样式后,选择所要调用的栏目、调用条数、显示列数、标题长度。
最后点击“生成模板标记”
下方就会出现一个模板标记 例如:
---------------------------------------------------------------------------------
{dede:arclist row='10' titlelen='24' orderby='pubdate' typeid='1' idlist=''}
·[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
{/dede:arclist}
---------------------------------------------------------------------------------
{dede:arclist row='10' titlelen='24' orderby='pubdate' typeid='1' idlist=''}
这个是循环头部,
里面row='10'代表了调用条数。
titlelen='24' 标题长度
typeid='1'栏目ID1的栏目文章所有文章。
-----------------
·[field:textlink/]([field:pubdate function=MyDate('m-d',@me)/])<br/>
以上是文章显示方式。
[field:textlink/] 这里是文章标题。
([field:pubdate function=MyDate('m-d',@me)/]) 这里是文章后的时间,例如:(01-13)
-----------------
{/dede:arclist}这个是底部,很多人也许不会在意,但是千万别忘记这个底部。
如果你没有加上底部,我敢很负责人的告诉你,你的网站绝对是搓板的。
好了这些都是我一字一句的打出来的,希望你能通过。如果对dedecms二次开发有兴趣。
欢迎来我的BLOG观看相关文章:http://hibaiducom/djlyr
0条评论