在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建站有所帮助。
在制作模板的时候需要调用文章部分内容,用[field:description/]标签的时候发现字数不够多,只能调用文章正文部分的内容了,而列表而也是一样,只能通过[field:description function='cn_substr(@me,60)'/]来实现调用,以下我就发实现方法给大家。
dede:arclist flag='h' ' row='1' titlelen=''}
<h1><a href='[field:arcurl/]'>[field:title/]</a></h1>
<p>[field:id runphp='yes'] $aid = @me;
$row = $GLOBALS['dsql']->GetOne("Select body From
`d8_addonarticle` where aid='$aid' ");
@me = cn_substr(strip_tags("{$row['body']}"),400);[/field:id]
<a href='[field:arcurl/]'>阅读详细</a></p>
{/dede:arclist}
数字400是用来设置需要调用多少内容的,因为调用的是 body里面的内容,如果有里面包含代码的话也会被调用出来,有这点不好。自己去实践实践以。
织梦。在dedecms中具有分页浏览的新闻列表页新闻栏目内容调用标是织梦,如果某个字段需要在前台列表页显示,则在前台参数中勾选“使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示。
1、打开dedecms织梦管理后台,用管理员账户密码登陆。
2、点击核心----网站栏目管理-----选择一个栏目后面的,点击更改。
3、常规选项 高级选项 栏目内容中选择{高级选项},填写栏目的SEO标题,复制代码{dede:fieldseotitle /}并记住栏目模板的名称list_articlehtm。点击下面的确定保存。
4、点击模板默认模板管理找到模板文件名list_articlehtm,点击模板后面的修改,弹出修改模板代码页面。
5、打开list_articlehtm,找到<title>标题,将{dede:fieldtitle /}修改为 {dede:fieldseotitle /},点击保存。
6、依次点击生成-------更新栏目HTML------更新所有----------生成HTML点开栏目的页面,就完成调用了。
说实话,不是很理解你的问题,直接做个链接过去不行吗,
还是说你的单页的模板不一样,或者你做的那个单页只是要作为网页的一部分显示?
我建议的解决办法是,把单页做成和整站风格一样的单页就行,就是你可以把你的导航栏也直接加到单页了,这样,首页就可以直接链接该单页了。
举例给你看http://wwwchinesesongorg/searchhtml,这是一个单页,没有模板的,但是上面的导航栏和整站其他页面的导航栏是一样的,你把代码复制一下就可以了。
0条评论