发新帖

Xiuno 模板风格开发参考

天边鱼 11天前 544

从零开发模板, 因此把开发的笔记分享一下:


首先Xiuno的模板是要放在 plugin 文件夹下, 当做一个插件来使用的

关于默认风格的参考模板在 view 文件夹下, 其中 htm 文件夹是主要模板文件


如果在原默认模板的基础上开发修改, 就直接复制view/htm这个文件夹到 plugin/你的主题/overwrite/view 下就行

样式什么的可以在htm文件里重新定义下


overwrite文件夹的意思就是将这里的文件覆盖原始模板, 这个官方文档里有提到. 



模板文件


index.htm : 首页模板
header.inc.htm : 头部模板
footer.inc.htm : 尾部模板
thread_list.inc.htm : 帖子列表模板 (循环)
thread.htm : 帖子内容模板
post_list.inc.htm : 留言列表模板 (循环)
post.htm : 发布帖子模板
forum.htm : 板块模板
user_create.htm : 用户注册模板
user_login.htm : 用户登录模板
my.htm : 个人中心模板
my_profile.htm : 个人中心 - 资料 模板
user_profile.htm : 用户个人中心 - 资料 模板

browser.htm : 浏览器提示信息



属性

网站头部必须引用( header.inc.htm )
<?php $conf = G('conf');?>
<?php $header = G('header');?>
<?php $user = G('user');?>
<?php $uid = G('uid');?>
<?php $gid = G('gid');?>
<?php $fid = G('fid');?>
<?php $tid = G('tid');?>
<?php $pid = G('pid');?>
<?php $route = G('route');?>
<?php $forumlist_show = G('forumlist_show');?>

<?php $static_version = $conf['static_version'];?>


header.inc.htm : 头部模板常用属性
<?php echo $header['title'];?> : 网站名称
<?php echo $header['keywords'];?> : 网站关键词
<?php echo $header['description'];?> : 网站描述
<?php echo url('user-login');?> : 网站登录链接地址
<?php echo url('user-create');?> : 网站注册链接地址
<?php echo url('user-logout');?> : 注销地址
<?php echo url('my');?> : 个人中心链接地址

<?php echo $user['username'];?> : 当前登录用户名


thread_list.inc.htm : 帖子列表模板常用属性
<?php echo $_thread['forumname'];?> : 帖子板块名称
<?php echo url("forum-$_thread[fid]");?> : 板块链接地址
<?php echo url("thread-$_thread[tid]");?> : 帖子链接地址
<?php echo $_thread['subject'];?> : 帖子标题
<?php echo $_thread['username'];?> : 作者名字
<?php echo url("user-$_thread[uid]");?> : 作者个人中心链接地址
<?php echo $_thread['create_date_fmt'];?> : 帖子发布时间( 格式为 几分钟前, 几小时前, 几天前.. )
<?php echo $_thread['views'];?> : 帖子浏览数
<?php echo $_thread['posts'];?> : 帖子回复数
<?php if($_thread['top'] > 0) { ?>[置顶]<?php } ?> : 如果是置顶帖子, 则显示"[置顶]"
<?php if($_thread['files'] > 0) { ?>[附件]<?php } ?> : 如果是带有附件的帖子, 则显示"[附件]"

<?php if($_thread['closed'] > 0) { ?>[锁定]<?php } ?> : 如果是锁定的帖子, 则显示"[锁定]"


thread.htm : 帖子内容模板常用属性
<?php echo $forum['name'];?> : 帖子板块名称
<?php echo url("forum-$thread[fid]");?> : 板块链接地址
<?php echo url('thread-create-'.$fid);?> : 发布帖子链接地址
<?php echo $thread['subject'];?> : 帖子标题
<?php echo $thread['username'];?> : 作者名字
<?php echo url("user-$thread[uid]");?> : 作者个人中心链接地址
<?php echo $thread['create_date_fmt'];?> : 帖子发布时间( 格式为 几分钟前, 几小时前, 几天前.. )
<?php echo $thread['views'];?> : 帖子浏览数
<?php echo $thread['posts'];?> : 帖子回复数
<?php if($thread['top'] > 0) { ?>[置顶]<?php } ?> : 如果是置顶帖子, 则显示"[置顶]"
<?php if($thread['files'] > 0) { ?>[附件]<?php } ?> : 如果是带有附件的帖子, 则显示"[附件]"

<?php if($thread['closed'] > 0) { ?>[锁定]<?php } ?> : 如果是锁定的帖子, 则显示"[锁定]"


post_list.inc.htm : 留言列表模板

头部引用
<?php
empty($allowupdate) AND $allowupdate = 0;
empty($allowdelete) AND $allowdelete = 0;
empty($allowpost) AND $allowpost = 0;

?>


<?php echo $_post['pid'];?> : 回复ID
<?php echo $_post['username'];?> : 回复人的名称
<?php echo url("user-$_post[uid]");?> : 回复人的个人中心链接地址
<?php echo $_post['floor'];?> : 回复楼数
<?php echo $_post['subject'];?> : 引用文字
<?php echo $_post['message_fmt'];?> : 回复内容

<?php echo post_file_list_html($_post['filelist']);?> : 附件



方法

循环显示论坛板块
<?php foreach($forumlist_show as $_forum) { ?>
<div fid="<?php echo $_forum['fid'];?>">
<a href="<?php echo url("forum-$_forum[fid]");?>"><?php echo $_forum['name'];?></a>
</div>

<?php } ?>


引用( footer.inc.htm ) 其中 bootstrap.js 是必不可少的, 牵扯到实时回帖..

<script src="lang/<?php echo $conf['lang'];?>/bbs.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/jquery-3.1.0.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/tether.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/bootstrap.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/bootstrap-plugin.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/async.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/xiuno.js<?php echo $static_version;?>"></script>
<script src="<?php echo $conf['view_url'];?>js/form.js<?php echo $static_version;?>"></script>
<script>
var debug = DEBUG = <?php echo DEBUG; ?>;
var url_rewrite_on = <?php echo $conf['url_rewrite_on'];?>;
var forumarr = <?php echo xn_json_encode($forumarr);?>;
var fid = <?php echo $fid;?>;
</script>
<script src="<?php echo $conf['view_url'];?>js/bbs.js<?php echo $static_version;?>"></script>



另: 抛砖引玉, 欢迎补充.


BY: 主播百科


最新回复 (5)
天空SKY_1475389746 11天前
引用 1
谢谢,这和DEDECMS的就模板思路有些像,方便很多
uoob 8天前
引用 2
模板能不能像帝国CMS那样容易编辑和管理?
天边鱼 6天前
引用 3
uoob 模板能不能像帝国CMS那样容易编辑和管理?
-  -  如果代码写好的话应该没问题.  前提是需要规划好
464979532 5天前
引用 4
插个眼,很有用楼主有心了
☀花田半亩 1天前
引用 5


这个好,过几天用得上

返回
发新帖
天边鱼
主题数
0
帖子数
1
注册排名
15758
作者最近主题: