• 1118阅读
  • 1回复

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

楼层直达
有时需要在网站首页或栏目封面上显示几篇文章的内页作为导语或其他什么的,但acrlist标签是不能直接调取body的,这时我们就需要使用以下方法来调取body。 VtPoc(o4]  
方法一:arcticle 标签 加上channeleid @=<TA0;LL  
v;F+fOo  
w_z^5\u0  
{dede:arclist' addfields='body' channelid='1'} =|{,5="  
[field:body/] iqv\ag  
{/dede:arclist} {If2[4!z  
addfields='body' 表示附加表中的body字段。 KJvJUq  
PEQvEruZ}  
8Jy1=R*S  
channelid='1' 表示的是频道模型id  ~NW5+M(u  
koWb@V]  
%},S#5L3  
方法二 使用万能的sql标签, HI?~t| [y  
v,.n/@s|X  
7Hkf7\JY  
{dede:sql sql="select body from dede_addonarticle where id=?"} 1oW]O@R  
uxJiec`&  
xY}j8~k  
[field:body/] 7Caap/L:  
[6gHi.`p'  
ZxeE6&#M^w  
{/dede:sql} Qs[EA_  
使用万能的sql标签, 4y}a,  
Pc ?G^ Xol  
/ykxVCvAt  
方法三:使用loop标签调用 table 表示附加表 if 表示添加 j<-o{6r  
$mg h.3z0  
jJQfCOD$  
{dede:loop table='dede_addonarticle' sort='' row='1' if=''} MJR\ g3  
[field:body/] EBE>&{%$^  
{/dede:loop} 6]A\8Ty  
这三种方法都可以实现,还有一个小问题就是直接调取body的话,html标记也跟着出来了,如果需要去掉html标记只获取其中的文字,我们使用以下字段写法。 jN{xpd  
T ]nR XW$  
F7u%oLjr  
[field:body function='cn_substr(@me,400)'/] 4~MUc!  
其中400指的的截取字符串的长度,可自由修改。
只看该作者 安逸沙发  发表于: 2018-10-22
关于首页、列表页调用文章body内容的两种方法,具体方法如下: <I#nwoHN  
ZuFcJ?8i  
第一种方法: =(]Z%Q-V  
I`f5)iF?0  
1 R4y]<8}  
{dede:arclist row='1' typeid='1' addfields='body' idlist='1' channelid='1'} 7 x'2  
2 apOa E7|  
[field:body function='cn_substr(html2text(@me),100)'/] =%B5TBG  
3 r7,}"Pl  
{/dede:arclist} bksv2@ar  
3vs{*T"  
解析: &|<f|B MX  
VsJiE0'%  
1、addrields=”字段1,字段2…” : r(dMU3%  
.g3=L  
2、idlist=”文章ID”(可不写) }v's>Ae~p  
9Ta0Li  
3、channelid=”模型ID”,普通文章默认为1(查看方法:核心–频道模型–内容模型管理–id号) q)mG6Su d  
-V4%f{9T3  
4、function=’cn_substr(html2text(@me),100)’ 过滤文章样式,并限制100字符 Y hQ)M5  
 vTgx7gP  
列表页用dede:list标签调用 tYXE$ i  
*f3StX  
首先进入后台–>核心–>频道模型–>内容模型管理–>普通文章(选择你的模型)–>更改–>基本设置–>列表附加字段–>里边是否有值:body )S 7+y6f&*  
zs~Tu  
如果没有添加body进去,如果有则使用如下代码即可: ~ ;LzTL  
~ney~Pz_  
1 4Wp5[(bg  
{dede:list pagesize='10' addfields='body'} 'S1u@p,q  
2 VJ=>2'I  
[field:body function='cn_substr(html2text(@me),100)'/] i1|>JM[V  
3 {BmqUoZrC  
{/dede:list} !uQT4< g  
Lx wi"ndP  
第二种方法: W;'fAohr  
1 FDQ=$w}' >  
{dede:sql sql="SELECT body FROM `dede_addonarticle` where aid = 1"} a(|6)w-  
2 )"S%'myj  
[field:body function='cn_substr(html2text(@me),100)'/] Y>8Qj+d  
3 &h0LWPl  
{/dede:sql} F#gA2VCm  
rXi&8R[  
解析: H-PVV&r   
x ;|HT  
本示例使用sql语句从dede_addonarticle表调取body内容。 ^e8xg=8(  
taE p   
1、将表前缀dede_修改为你数据库的表前缀 +6#$6hG  
9j:]<?D,A  
2、修改aid=1中的数字1为你要调取内容的文章ID
快速回复

限100 字节
安逸网提示:如果您在写长篇帖子又不马上发表,建议存为草稿
 
认证码:
上一个 下一个