您现在的位置是:首页 > 教程 > 帝国CMS教程帝国CMS教程

帝国CMS首页模板或其他非内容模板调用新闻正文字段newstext的方法

振涛2023-02-01 23:30:29帝国CMS教程已有人查阅

导读因为正文字段存放在副表,所以灵动标签直接调用是不可以的,那么就需要变通的做法或者写法了,以下提供几种方法供小伙伴们参考:

很多小伙伴制作帝国CMS模板中会遇到首页或者其他非内容页面需要调用新闻正文字段的需求。因为正文字段存放在副表,所以灵动标签直接调用是不可以的,那么就需要变通的做法或者写法了,以下提供几种方法供小伙伴们参考:
方法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]

本文标签:

很赞哦! ()

留言与评论 (共有 条评论)
验证码:

相关标签