您当前的位置:首页 > 帝国CMS > 帝国教程

帝国CMS多值字段morevaluefield的使用方法解密

帝国CMS7.0新增了多值字段。像下载地址、在线地址、图片集等这样的将多个内容存放到一个字段的功能,增加字段时选择多值表单元素即可,功能更强大,扩展更灵活。

支持设定无限列与无限行数据录入,并且支持设置必填的列,以及默认行数。方便我们录入各种需要分类的数据

字段的名字叫做:morevaluefield

帝国CMS多值字段morevaluefield的使用方法解密

帝国CMS多值字段使用教程

熟知帝国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::::::

内容页调用帝国多值字段方法如下

<?php
/*
 内容页调用多值字段示例
 trylife@diguoCMS.com
 20130513
  
 假设字段这个多值字段为tl
**/
$exp=explode('||||||',$navinfor[info]);
foreach($exp as $k=>$v)
{
    /*下一行是分割多值字段的每行中的每项*/
    $exp2=explode('::::::',$v);
     
    /* $exp2[0] $exp2[1] 以此类推分别是每行的第一个值 第二个值 第三个值 */
    echo '<li>'.$exp2[0].' '.$exp2[1].'</li>';
}
?>

如果需要指定第一列的的值为默认需要修改源码(如下图)

帝国CMS多值字段morevaluefield的使用方法解密

这里以字段info为例来修改源码

 

帝国CMS多值字段morevaluefield的使用方法解密

1、在输入表单替换HTML代码中找到如下代码

<?php
        $editnum=4;
        for($i=1;$i<=$editnum;$i++)
        {
        ?>
            <tr><td align="center"><input type="text" name="info_1[]" id="info_1_<?=$i?>" value=""></td><td align="center"><input type="text" name="info_2[]" id="info_2_<?=$i?>" value=""></td></tr>
        <?php
        }
        ?>

2、把下面的代码替换掉上面的代码即可

<tr><td align="center"><input type="text" name="info_1[]" id="info_1_1" value="适用程序"></td><td align="center"><input type="text" name="info_2[]" id="info_2_1" value=""></td></tr>
            
            
            <tr><td align="center"><input type="text" name="info_1[]" id="info_1_2" value="插件作者"></td><td align="center"><input type="text" name="info_2[]" id="info_2_2" value=""></td></tr>
            
            <tr><td align="center"><input type="text" name="info_1[]" id="info_1_3" value="制作时间"></td><td align="center"><input type="text" name="info_2[]" id="info_2_3" value=""></td></tr>
            
            <tr><td align="center"><input type="text" name="info_1[]" id="info_1_4" value="插件编码"></td><td align="center"><input type="text" name="info_2[]" id="info_2_4" value=""></td></tr>

这样在发布新信息,第一列的值就是默认了。