银河站长网为全球中文网站提供原动力!

帝国cms内容页调用多值字段,以及列表内容模板(list.var)中如何调用多值字段的教程

AD

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

多值字段是帝国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::::::

二、帝国cms如何在内容页中调用多值字段?

示例代码如下:

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

三、帝国cms如何在列表内容模板(list.var)中调用多值字段?

在列表内容模板调用多值字段,需要将列表模板内的“ 使用程序代码”勾选。然后在列表内容模板(list.var)中填入如下示例代码:

$morefr=explode('||||||',$r[aaaaa]);
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
$aaaaa.="
<li><span class=\"text-success\"></span> ".$morefrf[0]."</li>
";
}


$listtemp='
<h3>[!--title--]</h3>
<ul class="list">
    '.$aaaaa.'
</ul>
';

银河站长网小编在实际应用中,遇到了需要同时调用出多值字段中的所有数据以及最新一条数据的情况,这里经过琢磨,现分享代码如下。

四、帝国cms在列表内容模板(list.var)中同时调用多值字段中所有数据和最新一条数据

示例代码如下:

$morefr=explode('||||||',$r[genjin]);
                        $mfcount=count($morefr);
                        for($mfi=0;$mfi<$mfcount;$mfi++)
                        {
                        $morefrf=explode('::::::',$morefr[$mfi]);
                        $advantage.="
                        <li>".$morefrf[0]."".$morefrf[1]."</li>
                        ";
                        }
                        
                        
                        $morefr=explode('||||||',$r[genjin]);
                        $mfcount=count($morefr);
                        {
                        $morefrf=explode('::::::',$morefr[count($morefr)-1]);
                        }
                        
                        $listtemp='
                                <!-- 这里只显示多值字段最后一条数据 -->
                            '.$morefrf[0].''.$morefrf[1].'
                                <ul>
                                    <!-- 这里显示多值字段所有数据 -->
                                    '.$advantage.'
                                </ul>
                        ';

五、PHP for循环调用多值字段调用方法/基础调用、自定义多组调用及倒序输出/


【基础版本】

<?php
$morefr=explode('||||||',$navinfor[字段名称]);
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
?>
<li><b><?=$morefrf[0]?></b><i><?=$morefrf[1]?></i><u><?=$morefrf[2]?></u></li>
<?php
}
?>


【自定义版本/适用于同页面多个地方不同组合的调用】

<?php
$morefr=explode('||||||',$navinfor[字段名称]);
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
$自定义名称1.=' '.$morefrf[0].' '.$morefrf[1].' '.$morefrf[2].' ';
$自定义名称2.=' '.$morefrf[2].' '.$morefrf[3].' '.$morefrf[4].' ';
?>


调用: <?=$自定义名称1?> <?=$自定义名称2?>

【倒序版本】

<?php
$morefr=explode('||||||',$navinfor[字段名称]);
rsort($morefr); // 添加此行即可倒序
$mfcount=count($morefr);
for($mfi=0;$mfi<$mfcount;$mfi++)
{
$morefrf=explode('::::::',$morefr[$mfi]);
?>
<li><b><?=$morefrf[0]?></b><i><?=$morefrf[1]?></i><u><?=$morefrf[2]?></u></li>
<?php
}
?>

多值字段

好文章,需要你的鼓励
赞一个

如今做站的人不多了,多个朋友多条路子,加入站长论坛和上万同道交流
声明:本信息由商家提供,银河站长网仅为VPS服务器信息分享,本站无法作任何保障,任何IDC都有倒闭和跑路可能,请网友购买前衡量评估风险,自负责任。数据勤备份是最佳选择。转载请保留链接:《帝国cms内容页调用多值字段,以及列表内容模板(list.var)中如何调用多值字段的教程》站长联系QQ:22⑧2六8⑦肆8,邮箱为QQ邮箱。
评论
评论列表
共有 条评论