PHPIN.NET

 找回密码
 立即注册
查看: 1945|回复: 0

[其他] 帝国CMS多值字段morevaluefield解密

[复制链接]

454

主题

480

帖子

4249

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4249
发表于 2014-3-31 19:24:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

多值字段截图

多值字段截图

基本概述:
帝国CMS7.0新增了多值字段。像下载地址、在线地址、图片集等这样的将多个内容存放到一个字段的功能,增加字段时选择多值表单元素即可,功能更强大,扩展更灵活。
支持设定无限列与无限行数据录入,并且支持设置必填的列,以及默认行数。


结构分析:
熟知帝国CMS数据结构的用户都知道以前的morepic downpath onlinepath 字段储存是如下:
单行以换行符分割,单项以六个冒号分隔
a::::::b::::::c::::::d::::::"\r\n"
a2::::::b2::::::c2::::::d2::::::"\r\n"


帝国CMS7.0的多值字段储存则是这样大的
单行以六个竖线分割,单项以六个六个冒号分割。
a::::::b::::::c::::::d::::::||||||a2::::::b2::::::c2::::::d2::::::


内容页调用:
  1. <?php
  2. /*
  3. 内容页调用多值字段示例,假设字段这个多值字段为duozhi
  4. $exp2[0] $exp2[1] 以此类推分别是每行的第一个值 第二个值 第三个值
  5. */

  6. // 方法1
  7. if ($navinfor['duozhi']) {
  8.     $arr = explode('||||||', $navinfor['duozhi']);
  9.     $count = count($arr);
  10.     $duozhiStr = '';
  11.     for ($i = 0;$i < $count;$i++) {
  12.         $exp = explode('::::::', $arr[$i]);
  13.         $duozhiStr.= '<li>' . $exp[0] . ' ' . $exp[1] . '</li>';
  14.     }
  15. }

  16. // 方法2
  17. if ($navinfor['duozhi']) {
  18.     $arr = explode('||||||', $navinfor['duozhi']);
  19.     foreach ($arr as $k => $v) {
  20.         $exp = explode('::::::', $v);
  21.         $duozhiStr.= '<li>' . $exp[0] . ' ' . $exp[1] . '</li>';
  22.     }
  23. }
  24. ?>
  25. 调用:
  26. <?=$duozhiStr?>
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|PHPIN.NET ( 冀ICP备00000001号 )|网站地图

GMT+8, 2019-7-20 14:00

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表