帝国cms常见问题:输出模型添加的字段信息(二开非常实用)

ECMSPLUS | 2020-11-04 |

摘要:开发的时候我们经常需要把增加带有默认值的字段中的值调用出来的情况。后台修改,前台就得手动修改,非常不方便。用以下函数即可解决此问题。在Userfun.php中增加以下函数代码:<...

开发的时候我们经常需要把增加带有默认值的字段中的值调用出来的情况。后台修改,前台就得手动修改,非常不方便。用以下函数即可解决此问题。yklECMSPLUS

在Userfun.php中增加以下函数代码:yklECMSPLUS

<?phpyklECMSPLUS
//返回字段信息函数yklECMSPLUS
//函数说明:f是字段名 tid是数据表ID tpl是模版yklECMSPLUS
function ReturnF($f, $tid, $tpl = '<a href="{zhi}">{f}</a>') {yklECMSPLUS
    global $empire, $dbtbpre;yklECMSPLUS
    $f = RepPostVar($f);yklECMSPLUS
    $tid = (int)$tid;yklECMSPLUS
    if (!$f || !$tid) {yklECMSPLUS
        return FALSE;yklECMSPLUS
    }yklECMSPLUS
    $sql = $empire->fetch1("select fvalue from {$dbtbpre}enewsf where f='$f' and tid=$tid limit 1");yklECMSPLUS
    $arr = explode('|', $sql[fvalue]);yklECMSPLUS
    foreach ($arr as $val) {yklECMSPLUS
        $val = explode('==', $val); //值==名称时候用的yklECMSPLUS
        $val[1] = $val[1] ? $val[1] : $val[0];yklECMSPLUS
        $r.= str_replace(array('{zhi}', '{f}'), $val, $tpl); //替换模版变量yklECMSPLUS
        yklECMSPLUS
    }yklECMSPLUS
    return str_replace(':default', '', $r);yklECMSPLUS
}yklECMSPLUS

简要说明:yklECMSPLUS

f是要查询的字段名 tid是数据表ID(帝国后台数据表管理可查看) tpl是前台输出使用的模版yklECMSPLUS

Tpl说明:yklECMSPLUS

比如字段默认值中 0==中国yklECMSPLUS

<a href="{zhi}">{f}</a> {zhi}为0,{f}为中国,以此类推。yklECMSPLUS

前台使用:yklECMSPLUS

<?=ReturnF('字段名',数据表ID,模板代码)?>yklECMSPLUS

简单例子说明:yklECMSPLUS
比如我在数据表ID1中有一个字段叫sort,里面的默认值为苹果,橘子,核桃yklECMSPLUS
yklECMSPLUS
前台模板中:<?=ReturnF('sort',1,'<a href="{zhi}">{f}</a>')?>yklECMSPLUS
输出之后的html代码为:yklECMSPLUS
<a href="苹果">苹果</a>yklECMSPLUS
<a href="橘子">橘子</a>yklECMSPLUS
<a href="核桃">核桃</a>yklECMSPLUS

以下为不带模板使用(模板需要自定义):yklECMSPLUS

//返回字段信息函数yklECMSPLUS
//函数说明:f是字段名 tid是数据表IDyklECMSPLUS
function ReturnF($f, $tid) {yklECMSPLUS
    global $empire, $dbtbpre;yklECMSPLUS
    $f = RepPostVar($f);yklECMSPLUS
    $tid = (int)$tid;yklECMSPLUS
    if (!$f || !$tid) {yklECMSPLUS
        return FALSE;yklECMSPLUS
    }yklECMSPLUS
    $sql = $empire->fetch1("select fvalue from {$dbtbpre}enewsf where f='{$f}' and tid=$tid limit 1");yklECMSPLUS
    $arr = explode('|', $sql['fvalue']);yklECMSPLUS
    foreach ($arr as $val) {yklECMSPLUS
        $val = explode('==', $val); //值==名称时候用的yklECMSPLUS
        $val[1] = $val[1] ? $val[1] : $val[0];yklECMSPLUS
        $r[$val[0]] = str_replace(':default', '', $val[1]);yklECMSPLUS
    }yklECMSPLUS
    return $r;yklECMSPLUS
}yklECMSPLUS

yklECMSPLUS
另一个例子:yklECMSPLUS
比如一个字段初始值是 值==名称形式,而这个字段以后还会增加更多值==名称,在好多地方都用这个字段的名称。比如灵动或自己写的while循环,不可能以后加了值==名称所有调用地方都去逐一更改。那么就可以用此办法。yklECMSPLUS
$typeall=returnf('type', 28,'|{zhi}{f}{zhi}|');yklECMSPLUS
循环里面:yklECMSPLUS
preg_match('/|'.$r[type].'(.*?)'.$r[type].'|/', $typeall,$a);yklECMSPLUS
$type=$a[1];yklECMSPLUS
循环里需要输出的地方写$type就可以了yklECMSPLUS

---------------------------------------------------------------------------------------------------------yklECMSPLUS

喜欢用数组的可以参考下面例子:yklECMSPLUS
$all=returnf('type', 28,'|{zhi}{f}{zhi}|');yklECMSPLUS
preg_match_all('/|([0-9+])(.*?)([0-9+])|/', $all, $b);yklECMSPLUS
$num=count($b[1]);yklECMSPLUS
for($i=-1;$i<$num;$i++){yklECMSPLUS
$typearr[$b[1][$i]]=$b[2][$i];yklECMSPLUS
}yklECMSPLUS
print_r($typearr);yklECMSPLUS

如下示例代码:

<p>&lt;?php<br />//返回字段信息函数<br />//函数说明:f是字段名 tid是数据表ID tpl是模版<br />function ReturnF($f, $tid, $tpl = &#39;&lt;a href=&quot;{zhi}&quot;&gt;{f}&lt;/a&gt;&#39;) {<br />&nbsp; &nbsp; global $empire, $dbtbpre;<br />&nbsp; &nbsp; $f = RepPostVar($f);<br />&nbsp; &nbsp; $tid = (int)$tid;<br />&nbsp; &nbsp; if (!$f || !$tid) {<br />&nbsp; &nbsp; &nbsp; &nbsp; return FALSE;<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; $sql = $empire-&gt;fetch1(&quot;select fvalue from {$dbtbpre}enewsf where f=&#39;$f&#39; and tid=$tid limit 1&quot;);<br />&nbsp; &nbsp; $arr = explode(&#39;|&#39;, $sql[fvalue]);<br />&nbsp; &nbsp; foreach ($arr as $val) {<br />&nbsp; &nbsp; &nbsp; &nbsp; $val = explode(&#39;==&#39;, $val); //值==名称时候用的<br />&nbsp; &nbsp; &nbsp; &nbsp; $val[1] = $val[1] ? $val[1] : $val[0];<br />&nbsp; &nbsp; &nbsp; &nbsp; $r.= str_replace(array(&#39;{zhi}&#39;, &#39;{f}&#39;), $val, $tpl); //替换模版变量<br />&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br />&nbsp; &nbsp; }<br />&nbsp; &nbsp; return str_replace(&#39;:default&#39;, &#39;&#39;, $r);<br />}</p>

免责/版权声明:

本篇文章给大家谈谈帝国cms常见问题:输出模型添加的字段信息(二开非常实用)以及帝国cms对应的知识,感谢你花时间阅读本站内容,希望对各位有所帮助,你也可以查看更多关于帝国cms的信息。

1、所有来源标注为 ECMSPLUS/zwcms.com的内容版权均为本站所有,若您需要引用、转载,只需要注明来源及原文链接即可,如涉及大面积转载,请来信告知,获取授权。

2、本站所提供的文章资讯、软件资源、素材源码等内容均为作者提供、网友推荐、互联网整理而来(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考,如有侵犯您的版权,请联系我们,本站将在三个工作日内改正。

3、若您的网站或机构从本站获取的一切资源进行商业使用,除来源为本站的资料需与本站协商外,其他资源请自行联系版权所有人。

4、 ECMSPLUS/zwcms.com不保证资源的准确性、安全性和完整性,请您在阅读、下载及使用过程中自行确认,本站亦不承担上述资源对您或您的网站造成的任何形式的损失或伤害

5、未经 ECMSPLUS/zwcms.com允许,不得盗链、盗用本站资源;不得复制或仿造本网站,不得在非 ECMSPLUS/zwcms.com所属的服务器上建立镜像, ECMSPLUS/zwcms.com对其自行开发的或和他人共同开发的所有内容、技术手段和服务拥有全部知识产权,任何人不得侵害或破坏,也不得擅自使用。

6、互联网的本质是自由与分享,我们真诚的希望,每一份有价值的正能量能够在互联网中自由传播,能够为每一个网站提供动力。

标签:
精品源码
  • 二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发

    惊爆价¥1500.00

    立即购买
    二维码种子溯源系统,一物一码防伪验证查询(单用户版) 支持定制开发
  • 帝国cms7.5精仿企业信息综合门户《莞商网》(原创)

    惊爆价¥1500.00

    立即购买
    帝国cms7.5精仿企业信息综合门户《莞商网》(原创)
  • 厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码

    惊爆价¥1999.00

    立即购买
    厂房网,厂房出租,厂房出售,仓库出租,园区招商商铺厂房网整站源码
看点推荐
精选文章

站长交流群

互联网站长技术交流群
共同学习,共同进步,共同成长!

QQ交流群

推荐文章

EmpireCMS(帝国CMS) 最新版(v7.5)已知漏洞汇总

帝国第三方登陆:微信内部登陆+扫码登陆2.0安装说明与使用方法

帝国cms百度Webupload批量上传组件,支持前台投稿

帝国cms通过用灵动标签的SQL语句查询来调用栏目导航

帝国cms图片集字段morepic分割,自定义图片集显示

帝国cms 技巧整理笔记,持续更新中

帝国cms 技巧整理笔记:常用变量,COOKIE获取和系统模板

最新文章

热门标签

关注我们

微信扫一扫,关注更多精彩

  • 公众号
    全面掌握源码一手资讯

  • 服务号
    精彩活动,推送提醒

垂询热线:18680688182

商务合作:0769-8700 9090
文章投稿: