这一篇我们来了解模板的配置功能,配置功能的使用可以让模板数据搭配更灵活。比如说一些视觉上的配置了,数据列表的配置了等等。
下面,我们使用简单的例子来了解下rpcms模板配置功能。
一、添加配置文件
在模板文件夹中创建setting.php和default.php,其中setting.php是模板的配置表单,default.php是模板配置的初始化数据。详情可看《模板制作-配置文件的使用》。
本篇我们来制作一个动态设置的列表展示方式和页面背景颜色,通过这两个配置来了解模板配置的使用。
setting.php我们写入如下代码:
<?php if (!defined('CMSPATH')){exit('error!');}?>
<div style="width:100%;background:#fff;position: relative;">
<form class="me_form" action="" method="post">
<div class="me_input">
<label>首页列表</label>
<label><input type="radio" name="listStyle" value="1" {php}echo (isset($config['listStyle']) && $config['listStyle']=='1') ? 'checked' : ''{/php}>图文列表</label>
<label><input type="radio" name="listStyle" value="2" {php}echo (isset($config['listStyle']) && $config['listStyle']=='2') ? 'checked' : ''{/php}>卡片列表</label>
<label><input type="radio" name="listStyle" value="3" {php}echo (isset($config['listStyle']) && $config['listStyle']=='3') ? 'checked' : ''{/php}>智能图文</label>
</div>
<div class="me_input"><label>背景颜色</label><input type="text" name="bgColor" value="{php}echo isset($config['bgColor']) ? $config['bgColor'] : ''{/php}"></div>
<input type="hidden" name="sendpost" value="1"/>
<button type="sumbit" class="rp_btn success sendpost">保存设置</button>
</form>
</div>default.php的数据格式为PHP数组,例如本篇教程中的初始化配置数据:
<?php return array( 'listStyle'=>1, 'bgColor'=>'#f1f1f1', );
二、在模板中调用
模板配置数据无需手动获取,系统在加载模板的时候会自动获取其配置数据,并赋值给前端,可通过{$tempConfig[数据名称]}获取。
这里,我们修改下header.php,在head标签中加入css,并调用模板配置的数据。
<style>
body{background:{$tempConfig['bgColor']|default='#fff'}}
</style>
接着,我们完善下首页的列表数据
<div class="s2">
<div class="s2_left">
{if $tempConfig['listStyle'] == 1}
{include:list_style_1}
{elseif $tempConfig['listStyle'] == 2}
{include:list_style_2}
{else}
{include:list_style_3}
{/if}
<div class="pages">{$pageHtml}</div>
</div>
<div class="s2_right">
<ul class="sidenews">
<h2>最新发布</h2>
{$newLogs=newLogs(10)}
{foreach $newLogs as $k=>$v}
<li>
<i>{:thumb($v)}</i>
<p><a href="{$v['url']}" title="{$v['title']}">{$v['title']}</a></p>
<span>{$v['createTime']|strtotime|date='Y-m-d',###}</span>
</li>
{/foreach}
</ul>
</div>
</div>在class="container"的div中追加一个.s2的模块,其中我们根据不同的$tempConfig['listStyle']来调用不同的数据列表模板,这里我们制作了三套模板,由于内容长度问题就不一一展示了,在本专题完结后,制作的模板会发布到应用中心供同学们下载参考。
三、看看效果
1、图文列表

2、卡片列表

3、智能图文

本专题,完结!!!


发表评论
评论已关闭,请移步论坛发表,立即前往