TP6前台调用注意事项:
1.在前台js中, 后台传过来的变量,比如$citycn可以直接在js中使用,使用方法可以当做字符串处理, eg : “{$citycn}” ,解析时就会自动解析出来.
2.在前台html中, 后台传过来的值, 直接用{$citycn}来表示即可. 如果三元逻辑关系可以用花括号{if xxx ?’yyy:’zzz’},如果逻辑关系复杂则:<?php ?>来处理, 对于变量结果则用打印的方式来处理. eg 条件语句:<?php if(条件){ 语句 } ?> 三元语句: <?php (条件)?’print_r($xx)’:’yyy’ ?>
3.对于一些变量, 在不确定是否存在的情况下, 如果不存在,赋值就会出错~~~所以对于不确定存在的变量, 后台先判断再做写执行语言,前台先判断再调用.
4.对于应用了volist循环的调用, 如果循环里面运用了if语句,那么对于循环的length等限制, 用作于整个循环, 不包含if语句, 注意一下, 否则限制效果可能出问题.
5.对于button表单,type=”submit”用作form的提交按钮, type=”button”一般用于写在js中的函数
6.所有layui的js放在这个花括号内,单独的js自写方法写在花括号下面
7.在保存控制器save()方法下,如果不是要保存的数据, 则尽量不要用$data[xx]的形式, 因为如果获取不到有效数据, 则会报错. 在其他渲染页面的控制器, 无所谓的,因为不需要保存,则没有任何影响.
=========================前台判断====================================
<?php if(strpos($action,’louhuxing’)!==false){ echo ‘active’; } ?> //判断一个 数/变量/字符串 是否在字符串中strpos($data,$xx) $data为整个字符串,$xx为需要判断的字符串
一个数组的数量, 查询数量 count($arr);
静态页中:<?php print(count($images));?>
前台常用if语句
{$anli.cid==$vo.id?’selected’:’’}
模板嵌套
时间输出循环() <?php echo date(‘Y-m-d’,$vo[‘add_time’]); ?>
时间输出循环() {date(‘Y-m-d’,$article_show.add_time)}
前台系统数据
关键字: {$sites.keywords}
描述:{$sites.description}
公司名称:{$sites.company}
网站域名:{$sites.domain}
logo图片:{$sites.thumb}
网站名称:{$sites.values}
{$sites.tel}
海报/广告位
广告位:{$slide[1][‘img’]}
{volist name=”article” id=”vo” key=”” length=”100” offset=”1” }
{volist name=”article_content” id=”cc”}
{if $cc.cid===$vo.id}
{$vo.xx} {/if} {/volist}
{/volist}
列表文章内:调用编辑器内容
{volist name="article" id="vo" key="" } {if $vo.cid===$cid} {volist name="article_contents" id="cc"} {if $cc.aid===$vo.id} {:htmlspecialchars_decode($cc.contents)} //全部显示{:htmlspecialchars_decode(substr($cc.contents,0,200))} //截取字符串 {/if} {/volist} {/if} {/volist}
—————————分页———分页———-分页————————————————————
前台调用:
<link rel="stylesheet" type="text/css" href="/static/plugins/layui/css/layui.css">
<script type="text/javascript" src="/static/plugins/layui/layui.js"></script>
前台代码:
{volist name=”data.lists” id=”vo”}
<tr> <td>{$vo.id}</td> <td>{$anli_cates[$vo.cid]['title']}</td> <td>{$vo.title}</td> <td><img style="height: 26px;" src="{$vo.thumb}" onmouseover="show_img(this)" onmouseleave="remove_img()" /></td> <td>{$admins[1]['username']}</td> <td>{$vo.status==0?'<span style="color:red;">禁用</span>':'<span style="color:green">正常</span>'}</td> <td>{:$vo.add_time>0?date('Y-m-d H:i:s',$vo.add_time):''}</td> <td> <button class="layui-btn layui-btn-xs" onclick="add({$vo.id})">修改</button> <button class="layui-btn layui-btn-xs " onclick="del({$vo.id})">删除</button> </td></tr>
{/volist}
<div id="pages"></div>
js代码:
<script type="text/javascript">
layui.use([‘layer’,’laypage’],function(){
layer = layui.layer;
laypage = layui.laypage;
$ = layui.jquery;
laypage.render({
elem: ‘pages’ //注意,这里是 ID,不用加 # 号
,limit:{$pageSize}
,count: {$data.total} //数据总数
,curr:{$page}
,jump: function(obj, first){
//首次不执行
if(!first){
//console.log(obj.curr);
window.location.href=’/index/article/index?page=’+obj.curr; //控制器
}
}
});
});
</script>
后台代码:
$data['pageSize'] = 10; $data['page'] = (int)input('get.page'); $data['data'] = Db::table('anli')->where('cid', 1)->pages($data['pageSize']);
文章最终页
所在栏目:{$article_cate[$article_show.cid][‘title’]}
标题 {$article_show.title}
图片 {$article_show.thumb}
内容 {:htmlspecialchars_decode($article_show_content.contents)} <!--富文本编辑器-->
时间:<?php echo date(‘Y-m-d’,$article_show[‘add_time’]); ?>
最终页中 :列表文章,内容部分调用 :{if $anli_content.aid===$cc.id} {:htmlspecialchars_decode($anli_content.contents)}{/if}
最终页图片数量:<?php print(count($images));?>
图片展示:
{volist name=”$images” id=”vo” key=”index”}
<img src="{$vo}">
{/volist}
编辑器内容的嵌套
前台调用界面
{:htmlspecialchars_decode($anli_show.contents)}
后台编辑页面
<script type="text/javascript" src="/static/plugins/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="/static/plugins/ueditor/ueditor.all.min.js"></script>
<!-- 加载编辑器 -->
<script id="container" name="content" type="text/plain">{:htmlspecialchars_decode($detail.contents)}</script>
<script>var ue = UE.getEditor(‘container’,{initialFrameWidth:’100%’,zIndex:1});</script>