在模板制作过程中,会遇到这样的需求:
1、模板中的文案样式不统一,客户需要自己能修改
2、客户有多个销售QQ需要在页面展示
可以解决问题的方案
使用PbootCms中的定制标签功能,不断的增加标签,将标签集成进模板中,达到可自行修改的目的。
方案缺点很明显,很容易遇到不方便的情况,比如,客户需要多增加一个QQ号码,那么就需要新增定制标签,再将标签集成进模板。客户自己操作不来,意义就不大了。
优化方案
实现思路,我们使用编辑器中的多行文本框,一行一个内容。然后在模板中对多行文本框中的内容进行分割二次处理。
那么问题来了,怎样才能在模板中对定制标签的内容进行二次处理呢,这里又有2个方案。
方案1:
使用JS,对定制标签进行二次处理,简单举例
<div id="demo"></div>
<script>
$(function(){
var str = '{label:qqgroup}'; //假设后台定制标签中有一组QQ号码,需要组合输出。
var list = str.split("<br>"); //
var html = '';
$.each(list,function(index,value){
html += "客服"+(index+1)+":"+value+"<br>";
});
$('#demo').html(html);
})
</script>
方案2:
直接在模板中读取定制标签的内容,使用原生PHP输出(这个方式更利于SEO)
重点代码,因为PB的模板解析执行顺序,{label:**}无法直接被php解析到,那么我们就只能自己读数据库了。
//假设后台有一个定制标签中是使用“|”分隔组合的一个下拉选项
$list = \core\basic\Db::table('ay_label')->field('value')->where("name='comtype'")->find();
$list = explode('|', $list->value);
foreach($list as $v){
echo '<option value="'.$v.'">'.$v.'</option>';
}
这样我们就完成了在PbootCms模板中使用原生PHP对定制标签进行二次处理的效果。你学会了吗?
转载请注明: 织梦模板 » PbootCms在模板中对定制标签中的内容进行二次处理