Xiuno 模板风格开发参考

天边鱼 9月前 3292

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


首先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: 主播百科


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


    这个好,过几天用得上

  • jingccj@163.com 8月前
    0 引用 7
    有没有在线编辑模板的插件?
  • 米西, 7月前
    0 引用 8
    留名
  • 蓝蓝 7月前
    0 引用 9
    jingccj@163.com 有没有在线编辑模板的插件?
    我也想问这个,不知从哪里找到。
  • 宇雷 7月前
    0 引用 10
    学习了
  • 0 引用 11
    贴子要什么收藏?
  • soft 6月前
    0 引用 12
    这个循环显示会员的  怎么调用
    <?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  }  ?>
  • 蓝蓝 6月前
    0 引用 13
    我想知道xiuno怎么实现在html中写php代码的
  • 天边鱼 6月前
    0 引用 14
    蓝蓝 我想知道xiuno怎么实现在html中写php代码的
    因为他的机制是用PHP包含html..  所以你看着是在htm里..  实际上这个页面是包含在php里的
  • 宝宝气 4月前
    0 引用 15
    打个标记定个位置
返回
发新帖