齐博 变量

齐博 模板

齐博 插件

齐博 模块

齐博 小程序

齐博 配置

齐博 二次开发

齐博 其它

齐博 案例

标签内外之间传递变量

说明:

齐博标签里的参数变量默认是不可以内外之间传递使用的,在此齐博提供了一个方法。

如标签:{qb:hy}{/qb:hy} 与{qb:tag}{/qb:tag}里边的参数变量$_cfg数组变量

标签内外之间传递变量

在他之后就可以通过函数val()进行使用,直接输出内容的话,就以这个格式 {:val('xxx')} 注意有冒号开头。他等同于在标签内的{$_cfg.xxx} 只因在标签外不能使用{$_cfg.xxx} 所以就只能用 {:val('xxx')} 代替

要想使用参考如下方法:

内传外:

在标签里插入这个固定代码

例子 (Example)

{php}val($_cfg?:[]);{/php}

如下:

例子 (Example)

{qb:tag name="rocschool" type="cms" rows="5" order="list" by="asc"}
{php}val($_cfg?:[]);{/php}
{/qb:tag}

外传内:

在外面定义

例子 (Example)

{php}
$arr = ['uid'=>$uid];
val($arr?:[]);
{/php}

如下:

例子 (Example)

{:val('uid')}//标签内常规调用
{if val('uid')} 值存在 {/if}//条件判断格式。注意:此时没有冒号

多标签混合:

页面中如果有多个标签,需混用,可给予一个标志符。比如在标签内需要加

例子 (Example)

{php}val($_cfg?:[],'roc');{/php}//roc就是这个的标志符

调用时需要增加标志符,如下:

例子 (Example)

{:val('xxx','roc')}//调用标志符为roc的里的xxx


后端说明:

方法路径:application/common.php

调用方法如下:

例子 (Example)

if(!function_exists('val')){
    /**
     * 函数内外之间传递变量
     * @param array|string $array 变量或字符串
     * @param string $k 标志符,默认是label不设置的话,也可以,但会被最后的替换
     * @return unknown
     */
    function val($array='',$k='label'){
        static $data=[];
        if (is_array($array)) {
            $data[$k] = $array;
        }elseif(is_string($array) && $array!=''){
            return $data[$k]?$data[$k][$array]:'';
        }else{
            return $data[$k];
        }
    }
}

前端:



一、标签内变量转值到标签外

1、内传外,内部定义数组,外部指定即可。


二、标签外变量转值到标签内

1、外传内,外部定义数组,内部指定即可。

例子 (Example)

//这里外部,如下定义数组变量$arr,传两个参数['cid'=>$id,'did'=>$info.id]。也可传数值['x1'=>123,'x2'=>456]
{php}
$arr = ['cid'=>$id,'did'=>$info.id];
val($arr?:[]);
{/php}

2、标签内调用外部传的变量

例子 (Example)

{qb:tag name="rocschool" type="cms" rows="5" order="list" by="asc"}
<li>
   <a href="{$rs.url}">{$rs.title|get_word=100}--{:val('cid')}-{:val('did')}</a>//传值cid,did
</li>
{/qb:tag}

if判断写法

例子 (Example)

{qb:tag name="rocschool" type="cms" rows="5" order="list" by="asc"}
//获取本内容页的ID,与标签内循环的内容ID相等,添加class样式 ck 使得高亮当前标题
<li {if condition="$rs.id==val('cid')"}class="ck"{/if}>
   <a href="{$rs.url}">{$rs.title|get_word=100}--{:val('cid')}-{:val('did')}</a>
</li>
{/qb:tag}

三、标签内外之间传值案例

1、圈子设置:采用标签内传值至外,获取圈子设置的参数

例子 (Example)

//获取标签圈子设置的变量值传到本页面的样式里
{qb:hy name="rocschool" type="myform" conf="qun_style/cp_store/set.php"}
{php}val($_cfg?:[]);{/php}
{/qb:hy}

当前页其它地方获取,如传的是设置样式

例子 (Example)

{:val('roc_bg1')?:val('roc_bg2')?:'#1cbbb4'}//判断背景颜色
{:val('roc_style1')?:val('roc_style2')?:'sidebar-yellow'}//判断选择风格样式

判断使用:如果设置里传过来的mylink为空,即就是没有设置圈子菜单则输出定义的菜单,如果不为空则循环输出设置的菜单

例子 (Example)

{if val('mylink')==''}
    <a href="{:urls('qun/content/abouts',['id'=>$id])}" title="关于"><span class="bg-1"><i class="ui-icon-team bg-01"></i></span>关于</a>
    <a href="{:urls('qun/content/contact',['id'=>$id])}" title="联系"><span class="bg-2"><i class="ui-icon-tel bg-02"></i></span>联系</a>
    <a href="{:get_url('msg','-'.input('id'))}" title="群聊"><span class="bg-3"><i class="ui-icon-comment bg-03"></i></span>群聊</a>
    <a href="{:urls('qun/member/index',['id'=>$id])}" title="粉丝"><span class="bg-4"><i class="ui-icon-user bg-04"></i></span>粉丝</a>
    <a href="{:urls('qun/map/index',['aid'=>$id])}" title="导航"><span class="bg-5"><i class="ui-icon-location bg-05"></i></span>导航</a>
    <a href="{:purl('signin/index/index',['id'=>$id])}" title="签到"><span class="bg-6"><i class="ui-icon-carryout bg-06"></i></span>签到</a>
    <a href="javascript:;" onclick="popBox()" title="分享"><span class="bg-7"><i class="ui-icon-share bg-07"></i></span>分享</a>
    <a href="javascript:;" onclick="make_haibao()" title="海报"><span class="bg-8"><i class="ui-icon-image bg-08"></i></span>海报</a>
{else/}
{volist name="$menudb" id="rs"}
    <a href="{$rs.url}" title="{$rs.name}"><span class="bg-{$i}"><i class="{$rs.style}"></i></span>{$rs.name}</a>
{/volist} 
{/if}


上一主题 没有了 下一主题 TP原生标签
  • 使用社交账号登录,本站支持
全部评论(0)