dedeCMS如何修改一个栏目列表页为单页性质

dedeCMS如何修改一个栏目列表页为单页性质,第1张

本文实例讲述了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

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » dedeCMS如何修改一个栏目列表页为单页性质

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情