• 242阅读
  • 1回复

dedecms首页或列表调取文章内容body的三个方法

楼层直达
有时需要在网站首页或栏目封面上显示几篇文章的内页作为导语或其他什么的,但acrlist标签是不能直接调取body的,这时我们就需要使用以下方法来调取body。  AW|SD  
方法一:arcticle 标签 加上channeleid J.U%W}Hx  
cq gCcO ,  
(e!Yu#-  
{dede:arclist' addfields='body' channelid='1'} eLXL5&}`fh  
[field:body/] ;~[}B v  
{/dede:arclist} )8}k.t>'s  
addfields='body' 表示附加表中的body字段。 KC2Z@  
8f)pf$v`   
O&;d82IA{  
channelid='1' 表示的是频道模型id ?Ov~\[) F  
.H qJ)OH  
C0Fd<|[  
方法二 使用万能的sql标签, =ONM#DxH  
gN[t  
7,Z<PE  
{dede:sql sql="select body from dede_addonarticle where id=?"} ZfVY:U:o>  
Lr6C@pI  
8<C@I/  
[field:body/] )Td{}vbIh  
;XjXv'  
<Uf`'X\e6  
{/dede:sql} Lw(tO0b2H  
使用万能的sql标签, 2DJg__("  
u#^l9/tl  
,mi7WW9  
方法三:使用loop标签调用 table 表示附加表 if 表示添加 `D=`xSEYl  
?YV#  K  
/4;A.r`;  
{dede:loop table='dede_addonarticle' sort='' row='1' if=''} Yjd/  
[field:body/] Ef ?|0Gm  
{/dede:loop} R-OO1~W=  
这三种方法都可以实现,还有一个小问题就是直接调取body的话,html标记也跟着出来了,如果需要去掉html标记只获取其中的文字,我们使用以下字段写法。 J:ka@2>|  
pBv,,d`  
N$C+le  
[field:body function='cn_substr(@me,400)'/] P2C>IS  
其中400指的的截取字符串的长度,可自由修改。
只看该作者 安逸沙发  发表于: 2018-10-22
关于首页、列表页调用文章body内容的两种方法,具体方法如下: _l]rt  
KDAZG+u+  
第一种方法: SI l<\  
:e4[isI  
1 \xtmd[7lb<  
{dede:arclist row='1' typeid='1' addfields='body' idlist='1' channelid='1'} 8+~|!)a  
2 JA?P jo  
[field:body function='cn_substr(html2text(@me),100)'/] (XA]k%45  
3 pdR&2fp  
{/dede:arclist} Y4/ !b  
6EX8,4c\  
解析: 2fJ2o[v  
T$xY]hqr  
1、addrields=”字段1,字段2…” b"#|0d0  
N|WR^MQD  
2、idlist=”文章ID”(可不写) )e:u 6]  
~%:23mIk  
3、channelid=”模型ID”,普通文章默认为1(查看方法:核心–频道模型–内容模型管理–id号) -RnQ8Iu o  
0~N2MoOl^  
4、function=’cn_substr(html2text(@me),100)’ 过滤文章样式,并限制100字符 O!\\m0\ e  
2f@gR9T  
列表页用dede:list标签调用 fNaS?tV)  
e?~6HP^%.  
首先进入后台–>核心–>频道模型–>内容模型管理–>普通文章(选择你的模型)–>更改–>基本设置–>列表附加字段–>里边是否有值:body 3YPoObY  
R`|GBVbv  
如果没有添加body进去,如果有则使用如下代码即可: cw{[% 7  
O>`DR0  
1 =h 2zIcj  
{dede:list pagesize='10' addfields='body'} [Y]\sF;J  
2 kC)ye"r  
[field:body function='cn_substr(html2text(@me),100)'/] p1L8g[\  
3 QR($KW(  
{/dede:list} 5rpTR  
ajz%3/R  
第二种方法: Mrlv(1PQT  
1 W[R o)  
{dede:sql sql="SELECT body FROM `dede_addonarticle` where aid = 1"} vHPp$lql  
2 !bG%@{WT  
[field:body function='cn_substr(html2text(@me),100)'/] HW(cA}$  
3 H`;q@  
{/dede:sql} R1X{=ct  
@exeHcW61  
解析: !giL~}j(R  
Ph'P<h:V  
本示例使用sql语句从dede_addonarticle表调取body内容。 ~4\J }Kn  
Oozt&* F  
1、将表前缀dede_修改为你数据库的表前缀 _>8ZL)NQQ  
FDA``H~  
2、修改aid=1中的数字1为你要调取内容的文章ID
快速回复

限100 字节
安逸网提示:批量上传需要先选择文件,再选择上传
 
认证码:
上一个 下一个