织梦dede后台怎么查找文章内容关键词
在Dedecms系统中,
文章摘要(可以通过infolen或description相关标签调用)被设置了字数上限为250字符,设置上限的主要目的是减少数据库的冗余,保证网站良好的性能。因此,如果对简介内容不设置上限显然不合理,但是如果可以自由控制这一上限,那么将对网页内容布局带来积极作用。在网页设计过程中,往往需要在频道列表页面调用到文章摘要,如果可以有效控制文章摘要的字数,那么就可以使得页面布局很灵活。 在Dedecms中,在列表页调用文章摘要的方法主要有:
1:[field:info /]
2:[field:description /]
3:[field:info function="cn_substr(@me,字符数)"/]
4:[field:description function="cn_substr(@me,字符数)"/]
第1、2种方法是直接调用文章摘要,在调用的字数问题上,当使用[field:info /]时,可以在{dede:arclist infolen=' ' }{/dede:arclist}中,设置调用摘要的字符数(最高可设置为系统设置的250);如果使用[field:description /],则直接使用后台设置的摘要字符上限。显然,这两种方式都很被动,灵活性太差。
第3、4种方法通过function函数实现了对文章摘要显示字符的灵活调整。当然,在没有修改文章摘要内容字符上限时,这4个方法的差异并不大。但是,下面我们来说如何修改这一上限值,就可以体现出[field:description function="cn_substr(@me,字符数)"/]这一方式的重要性。
在Dedecms中,与文章摘要相关的php文件主要有:
/dede/archives_addphp
/dede/archives_editphp
/dede/article_addphp
/dede/article_editphp
/dede/article_description_mainphp
在add页面,有一句话是:“$description =
cn_substrR($description,$cfg_auot_description); ”,这句话实现了[field:description function="cn_substr(@me,字符数)"/]这一功能。因为这一语句确实有利于页面布局,因此我们在实验中没有修改。
在edit页面,有一句话是:“$description = cn_substrR($description,250); ”,这句话中出现了一个熟悉的字符数“250”,这就是系统设置的文章摘要字符数的上限值。 如果是gbk编码则显示出来的就是125个字。如果是utf-8编码则是81个字。显然,我们要突破文章摘要字符数上限,肯定得拿它开刀了。是的,这里修改“250”为其他值即可,例如“500”。
织梦。在dedecms中具有分页浏览的新闻列表页新闻栏目内容调用标是织梦,如果某个字段需要在前台列表页显示,则在前台参数中勾选“使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示。
修改一下文件,就能实现织梦dede后台怎么查找文章内容关键词。
登录网站ftp后台,找到后台目录,默认是dede,一般都会修改这个目录名称,然后再找到content_listphp这个文件,备份一下,下载下来后用Dreamweaver打开编辑,找到185行的以下内容:
$whereSql = " And ( CONCAT(arctitle,arcwriter) like '%$keyword%') ";替换成:
$whereSql = " left join dede_addonarticle on arcid=dede_addonarticleaid "$whereSql" And ( CONCAT(dede_addonarticlebody,arctitle,arcwriter) like '%$keyword%') ";替换完成以后重新刷新一下后台,再键入相关关键词的时候,就会出现很多标题中不含搜索关键词的文章列表,这些文章就是内容中包含搜索关键词的文章,点击进去以后,按ctrl+f就可以查找到关键词在文章中所在位置,这就是怎么查找dede文章中的关键词,这个还是比较的方便。
各位朋友如果你想要在dede系统文章页面中,调用文章对应的相关文章列表,我们可以使用dede自带的likearticle标签实现,如下:
{dede:likearticle col=’1′ row=’10’ titlelen=’60’}
{/dede:likearticle}
其中col=1是指显示的类型,默认即可。row、titlelen是设置显示文章的条数和字符串长度。
在制作模板的时候需要调用文章部分内容,用[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里面的内容,如果有里面包含代码的话也会被调用出来,有这点不好。自己去实践实践以。
0条评论