当前位置:首页 > 开源系统 > Moufer > 正文内容

moufer点评系统:get调用的详细讲解

modoer2.0中最大的特色是新增加了模板get调用,允许用户直接在模板里写调用标签和sql来获取数据,摒弃了1.x里的后台设置,方便模板的修改共享分发。

get调用有2个通用于各个模板的函数,即table和sql,例如

{get:modoer val=table(table/dbpre_members/where/groupid=10/rows/10)}
$val[username]
{/get}


复制代码
上面的table函数的各个参数转换成sql就是 select * from dbpre_members where groupid=10 limit 0,10

table函数只允许调用1个表里的数据,如果要多个表关联,且你对sql和modoer特别了解,建议直接使用sql,这是modoer里的终极调用方式,例如

{get:modoer val=sql(sql/elect * from dbpre_members where groupid=10/rows/10)}
$val[username]
{/get}


复制代码
要注意sql函数里不能写limit段,要使用参数rows来设置获取数量。

其他的调用函数,都是各自的模块里自带实现的。比如获取文章列表调用函数:getlist

{get:modoer val=getlist(catid/1/orderby/articleid desc/rows/10/cachetime/1000)}
$val[title]
{/get}


复制代码
各个模块提供的调用函数,都可以在模板手册里找到,这里不一一细说了。

最后还有一些特殊的功能要说明下。比如在获取的数据里,要加入序号,可以用议下方法:

{get:modoer val=table(….)}
{print $val_k+1}.$val[字段]
{/get}


复制代码
上面的代码中$val_k就是数据循环的需要,默认是从0开始的,因此如果你要从1开始,就必须+1,即{print $val_k+1}
很多人会问为什么是$val_k,这里要说明前面的val是你自己可以定义的,那么定义在那里,就是get头部的val=table,而后面的_k则是固定的,例如你的get头部数据标签是val2=table,那么你就要是$val2_k就可以了。

还有就是这样从数据的第2条开始获取能?
其实get调用里已经内置了参数,就是start,例如上面的新闻列表里,从第二条开始,去5条数据,就要这样写:

{get:modoer val=getlist(catid/1/orderby/articleid desc/start/2/rows/5/cachetime/1000)}
$val[title]
{/get}


复制代码
这些都是模板手册里的get调用标签里写着的,大家只要仔细的看都可以看到。

还有就是这样在循环体里做判断。
有这样的情况,模板开发时,获取的数据中,我要对前2条数据进行特殊的样式处理,我们可以用if标签和上面用到的序号来解决这个问题,例如

{get:modoer val=getlist(catid/1/orderby/articleid desc/start/2/rows/5/cachetime/1000)}{if $val_k<2}
$val[title]
{else}
$val[title]
{/if}
$val[title]
{/get}


复制代码
需要你记住的是,$val_k的需要是从0开始的,所以$val_k<2就是表示对0,1这两条数据进行判断处理 最后说说缓存参数cachetime 这个参数是表示我们将获取到的数据缓存到硬盘PHP文本里,这样当我们第二次访问时,就不用再去数据库里读取了,直接从硬盘里载入PHP文件,可以缓解频繁的大量读写数据库数据,提高效率,但是缺点是,当我们新增加了数据或者更改了数据,网站不能马上的反映出来,因为我们的缓存是有时间期限的,所以设置一个适当的缓存生命周期是非常重要的。 当然也不是所有的数据都需要缓存,例如,我们在一些内容页里,获取某个主题的信息时,最好不要用缓存,为什么呢: 1.主题或者文章,分类等数据量大都是成千上万的,如果每个主题都缓存起来,你的硬盘如果频繁的I/O操作,会严重影响速度,同时大量的缓存也会塞满你的硬盘 2.内容页不同于首页,列表,每个不同的主题被访问到的几率低,没有必要进行缓存,仅仅对首页。列表页等基本访客都会访问到的页面进行缓存即可


扫描二维码推送至手机访问。

版权声明:本文由Znanr发布,如需转载请注明出处。

本文链接:https://znanr.com/?id=40

标签: PHP
返回列表

上一篇:开源点评系统modoer的目录结构

没有最新的文章了...

相关文章

modoer: 常用语法loop标签(二)

modoer: 常用语法loop标签(二)

循环标签:loop例如一个数组,他的名称是$list,在这个数组变量中,存放了5条数组,格式如下:<?php $list = array(‘a’,’b’,’c’,’d’,’...

开源点评系统modoer的目录结构

开源点评系统modoer的目录结构

目录结构:Api 整合接口Core 框架核心Data 缓存内容Install 安装数据Static 图片,js位置Templates 模板Uc_uclient ucenter整合客户端Uploads...

modoer: 常用语法标签(一)

modoer: 常用语法标签(一)

/core/modules/review/assistant/templates/review_save.htm pc点评页面/templates/mobile/ 手机页面模版一、数据调用:get,S...

modoer二次开发文档及源码教程

modoer二次开发文档及源码教程

modoer二次开发文档——模板制作手册 hyrmodoer旗舰版2.8数据字典fpwModoer点评系统V3.4破解文件admin.phpkuv...

modoer sql查询

modoer sql查询

模板中执行sql语句 直接查询数据库{get:modoer val=table(table/dbpre_subject/select/sid,aid,name,subname,avgsort...