首页或者其他非内容页面需要调用新闻正文字段的需求。因为正文字段存放在副表,所以灵动标签直接调用是不可以的,那么就需要变通的做法或者写法了,以下提供几种方法供小伙伴们参考:
方法1、把内容字段转存到主表,就可以用灵动标签中<?=$bqr[newstext]?>调用,这种方法不推荐,能不用就不用!
-----------------------------------------------
方法2、直接读取副表。
[e:loop={栏目ID,显示条数,操作类型,只显示有标题图片}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
<?php
$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_{$bqr[stb]} where id='$bqr[id]'");
?>
<?=$fr[newstext]?>
[/e:loop]
注释:
1、上面的是调用最新(或其他类型)的文章
2、{$dbtbpre}ecms_news 为新闻系统 id='$bqr[id]'为文章id(这里的id可以指定,如:id=88)
举例:调用最新的一片文章
[e:loop={0,1,3,0}]
<?php
$fr=$empire->fetch1("select newstext from {$dbtbpre}ecms_news_data_{$bqr[stb]} where id='$bqr[id]'");
?>
标题:<?=$bqr[title]?><br>
副表内容字段:<?=$fr[newstext]?>
[/e:loop]
内容字数可限制
1、<?=substr($fr[newstext],0,900)?>中的900表示截取900个字符从0开始
2、或用灵动标签自带的 <?=esub($bqr[newstext],900)?>
------------------------------------------------------
方法3、
[e:loop={34,10,0,0}]
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <br>
<?
$tbname=$class_r[$bqr[classid]][tbname];//获取表名
$fb=$bqr[stb];//副表
$ftbname=$dbtbpre."ecms_".$tbname."_data_".$fb;
$newstext = $empire->gettotal("select newstext as total from {$ftbname} where id='$bqr[id]'");
echo $newstext;
?>
[/e:loop]
[e:loop={34,10,0,0}]
<?
$tbname=$class_r[$bqr[classid]][tbname];//获取表名
$fb=$bqr[stb];//副表
$ftbname=$dbtbpre."ecms_".$tbname."_data_".$fb;
$newstext = $empire->gettotal("select newstext as total from {$ftbname} where id='$bqr[id]'");
?>
<a href="<?=$bqsr['titleurl']?>" target="_blank"><?=$bqr['title']?></a> <?=$newstext?><br>
[/e:loop]