如何开发一套苹果cms前端模板
本文运用了苹果cms官网的模板开发教程,开发了一套苹果cms的前端模板,感兴趣的同学可以去github下载使用。
什么是模板
模板是网站的主题外观,也被称为主题或皮肤。通过使用不同的模板,网站的前台可以以不同的样式展示。这就像人们的服装一样,人们打扮得漂亮会吸引人,同样地,一个好看的模板不仅能吸引用户的第一眼,还可以更加人性化地展示网站的功能给用户。所以选择一个合适的模板对于网站的吸引力和用户体验非常重要。
开发模板
想要书写一个主题,首先在template录创建一个 theme_tpl 目录作为我们自定义的模板目录,接着创建一个 html文件夹 用来存放所有的html文件
└─ template
└─ `theme_tpl`
├─ css
├─ js
└─ html
必备js
自带的 home.js已经做好了很多必备的功能,开发者直接引入既可以使用里面 MAC 对象封装的函数,例如:历史记录、顶踩收藏、访问量统计,评论等等功能,俗称苹果cms模板必备三段。
<script src="{$maccms.path}static/js/jquery.js"></script>
<script>var maccms={"path":"__ROOT__","mid":"{$maccms['mid']}","url":"{$maccms['site_url']}","wapurl":"{$maccms['site_wapurl']}","mob_status":"{$maccms['mob_status']}"};
</script>
<script src="{$maccms.path}static/js/home.js"></script>
使用标签
苹果CMSv10标签完全支持tp5的语法,在HTML中使用{}包裹起来的php变量,如 {$maccms['site_name']}数组的形式支持用.来代替如:{$maccms.site_name}。列表标签有起始标签和结束标签组成。如 {maccms:vod type="all" num="10"}{/maccms:vod},内部变量都是数据库字段组成,以 $vo.开头如:{$vo.vod_name}、{$vo.vod_id} 等等。
使用函数
我们往往需要对模板输出变量使用函数,可以使用:
{$data.name|md5}
编译后的结果是:
<?php echo (md5($data['name'])); ?>
TIP 变量输出使用的函数可以支持内置的PHP函数或者用户自定义函数,甚至是静态方法。
常用处理函数
允许使用多个函数,都使用|分隔开
所有图片地址,不管是远程的本地的都建议使用 mac_url_img 来处理。
{:mac_data_count(0,'all','vod')} 获取视频总数量
{:mac_data_count(0,'today','vod')}获取今日更新视频总数量
{:mac_data_count(0,'all','art')}获取文章总数量
{:mac_data_count(0,'today','art')} 获取今日更新文章总数量
{:mac_data_count(1,'all')}获取某个分类下的数据总量,支持视频和文章,传入分类ID
{:mac_data_count(1,'today')} 获取某个分类下的今日更新数据总量,支持视频和文章,传入分类ID
另外还支持topic,website,actor,role模块的获取数据数量
{:mac_url('map/index')} 获取站内链接,参数代表 模块/页面
{$obj.vod_content|mac_url_content_img} 如果使用了第三方附件存储,附件和图片默认url是mac:开头的,此方法将替换为- http
{$vo.vod_pic|mac_url_img} 自动转换图片地址
{$vo.vod_content|mac_substring=100}返回截取字符串100个字
{$vo.vod_content|mac_filter_html}返回没有html代码的内容
{$vo.actor|mac_url_create='actor','vod','search',' '} 把,号相连的一串字符生成N个搜索链接,后2个参数可以不填写默认是生成vod模块搜索链接。 例子是创建演员搜索链接。支持演员、导演、tag、扩展分类等字段。最后一个参数是生成链接的分隔符。
{$vo.vod_time|mac_day}自动返回日期
{$vo.vod_time|mac_friend_date}友好时间提醒 几秒前,几分前,几小时前,几天前。。。
{$vo.vod_year|mac_default='未知'}如果字符串为空,则返回默认字符串
{$user.user_login_ip|mac_long2ip}返回格式化ip地址
{$user.user_id|mac_get_user_portrait}获取用户头像