• 1114阅读
  • 1回复

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

楼层直达
有时需要在网站首页或栏目封面上显示几篇文章的内页作为导语或其他什么的,但acrlist标签是不能直接调取body的,这时我们就需要使用以下方法来调取body。 xX&+WR  
方法一:arcticle 标签 加上channeleid tTl%oN8Qw  
i &nSh ]KK  
{L{o]Ii?g  
{dede:arclist' addfields='body' channelid='1'} o q Xg  
[field:body/] t\dN DS  
{/dede:arclist}  ,f%S'(>w  
addfields='body' 表示附加表中的body字段。 zFfr. g;L  
w,.TTTad  
Z"xvh81P  
channelid='1' 表示的是频道模型id A:%`wX}  
6P l<'3&  
ASA,{w]  
方法二 使用万能的sql标签, E<Y$>uKA  
K\Wkoi5  
k1~&x$G  
{dede:sql sql="select body from dede_addonarticle where id=?"} Ynj,pl  
v@L;x [Q  
PJ%C N(0  
[field:body/] -G rE} L  
.|70;  
kgP0x-Ap  
{/dede:sql} !*N@ZL&X  
使用万能的sql标签, V b?oJhR  
m<Dy<((_I  
SY\ gXO8k  
方法三:使用loop标签调用 table 表示附加表 if 表示添加 8cIKvHx  
@qAS*3j  
S4z;7z(8+  
{dede:loop table='dede_addonarticle' sort='' row='1' if=''} sUQ@7sTj  
[field:body/] }19\.z&J  
{/dede:loop} U 'bEL^Jf  
这三种方法都可以实现,还有一个小问题就是直接调取body的话,html标记也跟着出来了,如果需要去掉html标记只获取其中的文字,我们使用以下字段写法。 H*CW1([  
8<Av@9 *}  
e(t\g^X  
[field:body function='cn_substr(@me,400)'/] zQd 2  
其中400指的的截取字符串的长度,可自由修改。
只看该作者 安逸沙发  发表于: 2018-10-22
关于首页、列表页调用文章body内容的两种方法,具体方法如下: [~#WG/!:  
-$jEfi4I  
第一种方法: I]<_rN8~o  
?DQsc9y  
1 LO khjHR  
{dede:arclist row='1' typeid='1' addfields='body' idlist='1' channelid='1'} Yu[ t\/  
2 f'-i o<.  
[field:body function='cn_substr(html2text(@me),100)'/] hj B@o#S  
3 4c$ zKqz  
{/dede:arclist} S=<}:#;u0  
|_*O'#jx  
解析: -pa )K"z  
WDc+6/<  
1、addrields=”字段1,字段2…” 36%nB*  
ujaG Ng?,  
2、idlist=”文章ID”(可不写) 9{}1r2xW  
?R Oqn6k&c  
3、channelid=”模型ID”,普通文章默认为1(查看方法:核心–频道模型–内容模型管理–id号) N#7QzB9]  
Rhz_t@e  
4、function=’cn_substr(html2text(@me),100)’ 过滤文章样式,并限制100字符 S\5bmvqP"  
~ ! 3I2  
列表页用dede:list标签调用 Jd(,/q  
a1.Ptf eW|  
首先进入后台–>核心–>频道模型–>内容模型管理–>普通文章(选择你的模型)–>更改–>基本设置–>列表附加字段–>里边是否有值:body vj\dA2!~  
8` @G;o  
如果没有添加body进去,如果有则使用如下代码即可: AvSM ^  
Z@&Dki  
1 9h%?QC  
{dede:list pagesize='10' addfields='body'} r'uGWW"w  
2 &S]@Ot<z  
[field:body function='cn_substr(html2text(@me),100)'/] ;D s46M-s  
3 IWveW8qJ  
{/dede:list} \&3"<6xA  
uN^=<B?B  
第二种方法: OhmQ,  
1 Da:unVbU  
{dede:sql sql="SELECT body FROM `dede_addonarticle` where aid = 1"} 3=$q  
2 !F4@KAv  
[field:body function='cn_substr(html2text(@me),100)'/] qYf |Gv  
3 U_$qi  
{/dede:sql} :%AL\ n  
ND,Kldji  
解析: nG, U>)  
#E+gXan  
本示例使用sql语句从dede_addonarticle表调取body内容。 -:9P%jWt  
P^Q[-e{  
1、将表前缀dede_修改为你数据库的表前缀 I3:[= ,5  
|U k" {  
2、修改aid=1中的数字1为你要调取内容的文章ID
快速回复

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