DEDE如何在文章页调用相关文章列表

DEDE如何在文章页调用相关文章列表,第1张

Dedecms的标签调用的是有区域限制的,一些标签只能在文章页和首页以及频道页才能调用,但是单页面也想调用“最新文章”等一些文章列表,如果是用{dede:arclist} {dede:arclist /}这些标签肯定是调用不了的,哪要怎么办呢这个不用怕,这个问题dedecms早就想到了,在dedecms中有个“宏标签”功能,用这个功能可以实现全站调用。

  宏标签的设置:

  打开dedecms后台——>模板-->自定义宏标签-->智能标志向导

  1 选择一个你要的列表样式

  2 设置“调用栏目”,这里不用说了,就是想要调用的栏目。

  3 设置调用显示列表的文章条数,显示列数,标题长度,不过不设置也没事,回头想改还可以更改的。

  4 提取特定文档,如果你有需要调用特定的文章就要选择一下,如果么有,就不用选择。

  5 单条记录样式,这个有点重要,现在文章列表很多都是用<li></li>标签来做的,但是这里默认不是,如果你要在调用的时候适合你的页面,你需要自己修改一下,怎么修改

  这里示范一下,

  默认的标签:

  修改为<li></li>标签对的:

  还有很多功能,自己看支持字段。

  6“生成模版调用标记”

  7保存为自定义标记,这个很重要,一定要保存才可以了。要不下一步就么有内容可以做。

  8回到模板-->自定义宏标记 ,可以看到刚才保存的宏标记,如果不保存,这里是没有的。

  9点击“js调用”进行js调用代码提取

  10将刚才复制的那段js代码粘贴到你要的地方即可

  宏标签调用到此完成。

1、首先登录织梦网站后台,点击:系统—>SQL命令行工具(如图所示)。

2、打开SQL命令运行器,运行代码:ALTER TABLE `数据表前缀_archives` MODIFY COLUMN `keywords` char(168)(如图所示)。

3、找到article_editphp、article_addphp文件(如图所示)。

4、打开文件article_addphp,并找到代码:$keywords = cn_substrR($keywords,60),然后把数字60改成168(如图所示)。

5、打开文件article_editphp,并找到代码:$keywords = trim(cn_substrR($keywords,60));然后把数字60改成168,织梦程序修改标签限制字数就可以了。

通常dedecms列表和内容页可以利用系统内置标签[field:description/]来调用,但有时候后台文章摘要需要其它用处,那么这个时候需要调用部分文章正文内容做为摘要显示

步骤和方法

本操作需要用户对DedeCMS系统有较高的了解,如果您感觉自己不太掌握,可以考虑选择官方安全相关服务

步骤和方法

进入后台 核心 -> 频道模型 -> 内容模型管理 -> 普通文章 -> 更改

调用代码:

{dede:list pagesize='10'}

[field:body/]

[field:title/]

{/dede:list}

将内容转化为文字格式并截取字符串[field:body function='cn_substr(html2text(@me),600)'/]

在后台显示的话就需要把每一个作者以创建独立ID形式,在后台显示(看下图)

在后台就是这样看当前id的内容,前台的话怎么调用呢 ,往下看

dede本身是支持调用当前作者或指定作者发布的文章的, 调用方法如下:

{dede:arclist  writer='this' typeid='top'}

  [field:textlink /]<br />

  {/dede:arclist}

参数说明:

writer='this'  表前当前文章的作者,你也可以指定任意的ID(数字ID),如 writer='10'

typeid='top' 考虑到投稿文章可能比较少,用这属性是调用作者所有的最新文章, 如果不指定此属性, 则调用作者在文章所在栏目内发表的文章

[field:litpic /]或者{dede:fieldlitpic /}

<!--这是调用文章缩略图的标签,前面的是在arclist等列表标签中调用的,后者是在文档内容页面调用文档详细信息中用的,本经验来自IT零五网-->

{dede:field name='imgurls' alt='输出区'}

     [field:pagestyle runphp='yes'] @me= (@me==3  '<li>' : '');[/field:pagestyle]

     <a href='[field:linkurl/]' [field:pagestyle runphp='yes'] @me= (@me==3  'class="pic"' : ''); [/field:pagestyle]>

     <img src='[field:imgsrc/]' id='bigimg' [field:imgwidth /] alt='[field:alttext /]' border='0' />

     </a>

     <a href='[field:linkurl/]' [field:pagestyle runphp='yes']@me = (@me==3  'class="title"' : '');[/field:pagestyle]>

     [field:title /]

     </a>

     [field:pagestyle runphp='yes'] @me = (@me==3  '</li>' : ''); [/field:pagestyle]

{/dede:field}

<!--上面是图集内容输出的标签,本经验来自IT零五网-->

打开include/commonfuncphp文件

在最后的>之前加上

//统计栏目文章数

function GetTotalArc($tid){

global $dsql;

$sql = GetSonIds($tid);

$row = $dsql->GetOne("Select count(id) as dd From dede_archives where typeid in({$sql})");

return $row['dd'];

}

然后就可以在模板上用

{dede:channel type='son' row='20'}

<dl><a href='[field:typelink/]'>[field:typename/]</a>(<span>[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]) </dl>

{/dede:channel} 进行调用,[field:ID runphp='yes'] @me = GetTotalArc(@me);[/field:ID]这个就是调用的总数

修改inlcude下的arclistviewclassphp文件

搜索

if($row = $this->dsql->GetArray("al"))

在下面的大括号内添加几行代码

$query = "Select body From `#@__addonarticle`where aid =$row[id] ";

$this->dsql->SetQuery($query);

$this->dsql->Execute();

$temp=$this->dsql->GetArray());

$row['body']=$temp['body'];

然后在直接使用[field:body/]即可

可能不同版本的代码不太一样.你先试试吧

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » DEDE如何在文章页调用相关文章列表

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情