您的位置:首页 > 其它

onethink后台新建文档模板在前台调用他的数据

2016-06-14 18:22 246 查看
我们先讲一下后台新建文档模板,后台新建文档模板可以有两种选择,一种是独立模板,独立模板在新建分类时不能够出现在分类选择模板当中,需要自行写一个新建分类的代码,所以不建议使用

一种是文档模板,文档模板建好了之后就可以在新建分类时选择这个模板。

thinkphp有一个标签<article:list>,这个标签不能够引用你新建模板中的那些字段,我们可以基于这个标签,自己写一个标签

public function _nlist($tag, $content){
$name = $tag['name'];
$cate = $tag['category'];
$child = empty($tag['child']) ? 'false' : $tag['child'];
$row = empty($tag['row']) ? '10' : $tag['row'];
$field = empty($tag['field']) ? 'true' : $tag['field'];
$parse = '<?php ';
$parse .= '$category=D(\'Category\')->getChildrenId('.$cate.');';
$parse .= '$__LIST__ = D(\'Document_notice\')->page(!empty($_GET["p"])?$_GET["p"]:1,'.$row.')->select();';
$parse .= ' ?>';
$parse .= '<volist name="__LIST__" id="'. $name .'">';
$parse .= $content;
$parse .= '</volist>';
return $parse;
}

这个标签位于article.class.php中,写这个标签有一个好处就是可以和article:page结合起来,这样可以轻松的实现分页,如果分页有问题可以看我之前的文章对<article:page>的一个修改。
这样我们就可以既引用自己新建的字段,又实现分页了。html代码如下,其中的字段都是我自己新建的字段。<div class="container">
<article:nlist name="nlist" category="" child="true" row="$row">
<div class="row">
<div class="col-xs-12 text-center">{$nlist.subject}</div>
<div class="col-xs-2">活动时间</div><div class="col-xs-10">{$nlist.time}</div>
<div class="col-xs-2">活动地点</div><div class="col-xs-10">{$nlist.place}</div>
<div class="col-xs-2">参与人</div><div class="col-xs-10">{$nlist.men}</div>
<div class="col-xs-2">活动内容</div><div class="col-xs-10">{$nlist.content}</div>
</div>
</br>
<hr>
</article:nlist>
</div>
<div class="text-center">
<div class="onethink pagination pagination-right pagination-large">
<article:page cate="$cateinfo[id]" listrow="$row"/>
</div>
</div>控制器中基本上不需要什么代码了
public function event($p=1){
$id = 50;
$row=10;
$cateinfo = D('Category')->info($id);
/* 模板赋值并渲染模板 */
$this->assign('cateinfo', $cateinfo);

$this->assign('row',$row);
$this->display();
}

当然这只是一个解决办法,后面还会尝试其他的解决办法。其他的方法有新建一个Document-notice(这个notice是我新建模板的名字)的Model或者Log
原来的<artilce:list>就只是使用了Document的Model,所以不能调用数据库中document-notice表中的量,可以采用上面提到的三种方法解决。之后两种方法我还没有尝试。

就这些了,希望对一个新手能有帮助。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: