3G模板制作看似很难其实只需要以下几个步骤
1、 准备静态模板及素材
2、 制作添加模板的PHP代码
3、 将模板显示在前台的模板管理页面里面
下面以制作第1套模板为例
1、 准备静态模板及素材
这里我们要准备以下素材:
1.1模板的Css样式文件,若样式中用到图片还需要保存图片文件到相应的位置
CSS放在\themes\Wap\default\common\css\allcss\文件夹下,因为是第一套模板,所以名字为wap1.css,最后的路径就是\themes\Wap\default\common\css\allcss\wap1.css
1.2在前台模板管理里面显示的缩略图
这里是\themes\User\default\common\images\cate1.png
1.3静态页(我们需要将保存下来的静态页里面的内容替换成数据库里的内容,这是比较麻烦的一点,大家可以参照默认的模板文件来更改),素材里有初始的html静态页跟替换了标签之后的静态页,大家可以做比较。静态页存放在这个位置:
\themes\Wap\default\Index_wap1_index.html(注意红色的文字,跟下面PHP代码中的要保持一致,不然就找不到模板了。)
2、制作添加模板的PHP代码
打开\iMicro\Lib\Action\User\TmplsAction.class.php
查找add()函数,在页面的14行
publicfunction add(){
$gets=$this->_get('style');
$db=M('Wxuser');
switch($gets){
case1:
$data['tpltypeid']=1;
$data['tpltypename']='wap1_index';
break;
}
$where['token']=session('token');
$db->where($where)->save($data);
}
像上面这样的代码,就完成了。如果想制作第二套模板就准备第2套模板素材然后把上面的php代码变为这样
publicfunction add(){
$gets=$this->_get('style');
$db=M('Wxuser');
switch($gets){
case1:
$data['tpltypeid']=1;
$data['tpltypename']='wap1_index';
break;
case2:
$data['tpltypeid']=2;
$data['tpltypename']='wap2_index';
break;
}
$where['token']=session('token');
$db->where($where)->save($data);
}
以此类推,第三第四到第N套。
4、 将模板显示在前台的模板管理页面里面
打开模板管理的静态页面,位置在
\themes\User\default\Tmpls_index.html
查找
在下面一行添加以下代码
<li <eq name="info.tpltypeid" value="23">class="active"</eq> style="margin:10px 30px;" >
<label>
<img src="{lanrain::RES}/images/cate123.png" οnclick="javascript:alert('已选择模板23')" />
<input class="radio" type="radio" name="optype" value="23" <eq name="info.tpltypeid" value="23">checked</eq> /> 模板23
</label></li>
注意红色的地方都是要注意的,这样,一套模板就添加完成了。
备注
制作模板最麻烦的就是把我们要仿的模板改成适合爱微的模板文件,下面是一些注释(以第一套为例)
{iMicro:$tpl.wxname}=添加公众号的时候填写的公众号名字
{iMicro::RES}=当前模块的资源文件,这里是\themes\User\default\common\
<volistname="flash" id="so">
<li><p>{iMicro:$so.info}</p><a href="{iMicro:$so.url}"><img src="{iMicro:$so.img}" /></a></li>
</volist>
上面这段代码就需要smarty知识了,注意看红色和绿色的部分,红色的so跟绿色的so是要一样的,至于红色的flash,是对应\iMicro\Lib\Action\Wap\IndexAction.class.php中index()函数里面的$this->assign('flash',$flash)的
其他的<volist大同小异,自己研究吧
{iMicro:$homeInfo.copyright}
{iMicro:$siteCopyright}
这段代码的意思就是判断公众号是不是设置了版权(这块后期会加上这样的版权功能),如果设置了就显示用户的版权,如果没设置就显示网站里的全局版权
其他的大家自己琢磨吧