当前位置: 首页 >学习笔记 >正文

zblog保存的自定义字段数据转换为对象调用

浏览:8788 作者:Admin 评论(1)

通常我们做主题或插件的时候,或多或少都会使用自定义字段数据;一般都是保存在xxx_Meta字段下的序列化数据;如果是单独的一个数据的话那我们可以直接调用,如果保存的是数组每次输出数据都会以数组格式调用,如:$data=$article->Metas->zbblog; $data['name']; 这样麻烦而且不高效;所以我们可以转为对象格式调用。

我们先看下面的一个案例,看完应该就差不多明白了;

// 首先这是一段zblog发布文章时保存自定义数据的代码,只摘了其中几段最主要的。
// $zbblog= GetVars('zbblog', 'POST');
// 我们这里以下面这个数组为例;
$zbblog = array(
    array(
    'name' => '小明',
    'age'  => 20,
    'sex'  => 1
    ),
    array(
    'name' => '小红',
    'age'  => 18,
    'sex'  => 0,
    )
);
if(is_array($zbblog)){
    $zbblog= json_decode(json_encode($zbblog), FALSE);// 首先把数组编码为json文本,然后把json数据解码,第二个参数为false时返回对象;
    $article->Metas->zbblog = $zbblog; //保存对象数据,下次读取时就不用转换了;
    $article->Save();
}

下面就是调用数据,直接以对象形式输出 是不是方便快捷了许多?

$html = '';
if ($data = $article->Metas->zbblog) {
    foreach ($data as $k => $v) {
        $html .='
            <input type="text" name="zbblog[' . $k . '][name]" value="' . $v->name. '">
            <input type="text" name="zbblog[' . $k . '][age]" value="' . $v->age. '">
            <input type="text" name="zbblog[' . $k . '][sex]" value="' . $v->sex. '">
         ';
        }
    echo $html;
}

本文标题:zblog保存的自定义字段数据转换为对象调用

版权声明:本文由『Admin』发表于“ZB博客”,转载请注明出处。

发表评论