dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)
本文实例讲述了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建站有所帮助。
方法:typeid='top' 或者typeid='asdas'任意字母不为空不为数字 写上这一个属性就可以了
{dede:arclist orderby='pubdate' titlelen='28' row='7' typeid='top' }
如果是在文章页 这篇文章又是最新刚发布的,那么最新文章里就会包含这篇文章,想要去除这篇文章,可以加limit{dede:arclistorderby='pubdate' titlelen='28'row='7'typeid='top' limit='1,7'}
当然如果不是最新的文章,再次生成的时候还是有可能和当篇文章重复的
织梦内容管理系统(DedeCms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展。
目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门户的构建,当然也不乏有企业用户和学校等在使用该系统。
dede织梦如何添加“自定义属性”标签“症状”1、进入后台——系统——SQL命令行工具——运行SQL命令行,添加arcatt表字段:insert into`dede_arcatt`(sortid,att,attname) values(9,‘d‘,‘症状‘)2、添加archives表字段:alter table `dede_archives` modify `flag` set (‘h‘,‘c‘,‘p‘,‘f‘,‘s‘,‘j‘,‘a‘,‘b‘,‘d‘) default NULL 看着加粗的SQL指令,顾名思义是先在表里插入新记录(要添加的属性),然后修改另一个关联表的flag字段以添加标签d。没错,就是这样简单,你已经成功添加了新的属性并可以模板调用了。当然你也可以用phpmyadmin数据库工具傻瓜式添加属性。需要说明的是: 代码第1行:values(9,‘d‘,‘新自定义属性‘) 是根据我们需要自行定义的,其中9是sortid的值,是不可重复的,也就是每添加一个自定义属性,sortid的值就应该递增到 10,11,12,以此类推!d是alt的值,是自定义属性的标记,与已存在的标记符号不能重复,“症状”是中文名称,是方便人们直观地勒戒自定义 属性的含义的,可以根据需要改为其他名字,不影响调用。代码第2行:set (‘c‘,‘h‘,‘p‘,‘f‘,‘s‘,‘j‘,‘a‘,‘b‘,‘d‘),括号中的字母对应已存在的标记符号和您需要添加的标记符号,并按顺序录入,不得改变先后顺序。例如,d排序第9位,则对应第一行代码中添加的自定义属性““评论d”。2、后台——模板——默认模板管理——indexhtm在“indexhtm”中进行修改,在需要调用症状的地方添加代码“{dede:arclist flag=‘d‘ limit=‘0,1‘ infolen=‘230‘}”3、添加文档,在自定义属性中将“新自定义属性”勾选,就可实现,勾选的文档出现在首页,为勾选出现在内页。删除自定义属性:
DELETE FROM dede_arcatt WHERE sortid=‘9‘
dedecms:织梦文章如何添加“自定义属性”标签(sql命令行工具)
标签:
织梦cms调用文章:
1、文章摘要:
{dede:fielddescription /}或[field:description/];
2、文章时间调用:
[field:pubdate function="MyDate('Y-m-d',@me)"/]用这样形式调用可,其中"MyDate('Y-m-d',@me)"可根据需要进行修改;
织梦CMS文章页关键词调用:
1、打开文章页模板文件templets/default/article_articlehtm;
2、把下面代码插入到合适位置,在正文{dede:fieldbody/}标签下面。可以定义CSS显示标签样式。
文章相关标签:{dede:tag row=’8′ sort=’week’}<a href=’[field:link/]‘ target=”_blank”>[field:tag /]</a>{/dede:tag};更新所有文章可显示。
tag|TAG调用:
标签名称:tag;
功能说明:TAG调用标签;
适用范围:全局使用。
基本语法:
{dede:tag sort=’new’ getall=’0′}<a href=’[field:link/]‘>[field:tag /]</a>{/dede:tag}相关函数:
文件\include\taglib\taglibphp第4行;
function lib_tag(&$ctag,&$refObj)。
参数说明:
row=’30′ 调用条数;
sort=’new’ 排序方式 month,rand,week;
getall=’0′ 获取类型 0 为当前内容页TAG标记,1为获取全部TAG标记。
0条评论