列表不区分门户和扁平,直接显示当前版块数据、当前版块主题数据和当前版块的自定义标签主题数据。
对应的文件 view/htm/list.htm
当前版块数据包括:版块公告、版块介绍、版块主题数量,今日主题数量,今日评论数量。
当前版块数据对应的变量名 $forum
// ----版块公告代码----
<?php if($forum['announcement']) { ?>
<div class="card card-mod-info">
<div class="card-body">
<h6 class="card-title">
<?php echo lang('forum_anouncement');?>:
</h6>
<p class="small">
<?php echo $forum['announcement'];?>
</p>
</div>
</div>
<?php } ?>
版块其他数据
<div class="card-site-info bg-white shadow">
<!--{hook list_site_brief_before.htm}-->
<div class="mx-3 pt-3">
<h5 class="text-center">
<?php echo $forum['name'];?>
</h5>
<div class="small line-height-3">
<?php echo $forum['brief'];?>
</div>
</div>
<!--{hook list_site_brief_middle.htm}-->
<div class="card-footer p-2">
<table class="w-100 small">
<tr align="center">
<td>
<span class="text-muted">
<?php echo lang('threads');?>
</span>
<br>
<b>
<?php echo $forum['threads'];?>
</b>
</td>
<td>
<span class="text-muted">
<?php echo lang('today_comment');?>
</span>
<br>
<b>
<?php echo $forum['todayposts'];?>
</b>
</td>
<td>
<span class="text-muted">
<?php echo lang('today_threads');?>
</span>
<br>
<b>
<?php echo $forum['todaythreads'];?>
</b>
</td>
<!--{hook list_todaythreads_after.htm}-->
</tr>
</table>
</div>
<!--{hook list_site_brief_end.htm}-->
</div>
<!--{hook ***}--> 这种为hook使用的钩子,个人模板可去掉。
主题列表对应的变量命名 $threadlist
此文件加载了公用列表文件 thread_list.inc.htm 可根据自己的需要修改成自己的样式,复制一份该文件到自己的模板目录,然后加载该文件。加载方法
<ul class="threadlist list-group list-group-flush shadow">
<!--{hook list_main_threadlist_before.htm}-->
<?php include _include(APP_PATH . 'view/htm/thread_list.inc.htm');?>
<!--{hook list_main_threadlist_after.htm}-->
</ul>
demo为自己的模板目录,加载时路径和文件名必须正确。
// ----前台管理代码,不需要前台管理可删除----
<?php include _include(APP_PATH.'view/htm/thread_list_mod.inc.htm');?>
自定义标签主题数据对应的变量名 $flaglist 循环输出设置为显示的自定义标签和标签下主题,单独调用自定义标签主题,请看 自定义调用 这篇内容
<?php if($flaglist){foreach($flaglist as $_flag) { ?>
<div class="shadow mt-3">
<div class="card-header bg-light">
<h3 class="font-weight-bold my-0">
<a href="<?php echo $_flag['url'];?>" title='<?php echo $_flag['name'];?>' aria-label='<?php echo $_flag['name'];?>'>
<?php echo $_flag['name']; ?>
</a>
</h3>
</div>
<ul class="list-group list-group-flush nowrap">
<?php if(isset($_flag['list'])){foreach($_flag['list'] as $_thread) { ?>
<li class="list-group-item bg-white">
<h4 class="my-0">
<a href="<?php echo $_thread['url'];?>" class="d-block ellipsis" <?php echo (10==$_thread['type']?'rel="nofollow" target="_blank"':''); ?> title='<?php echo $_thread['subject'];?>' aria-label='<?php echo $_thread['subject'];?>'>
<?php echo $_thread['subject'];?>
</a>
</h4>
</li>
<?php }} ?>
</ul>
</div>
<?php }} ?>
// ----页头导航所在版块高亮 ----
/* 这段js是指定页头导航当前版块所在导航处高亮 nav对应页头导航的id="nav" li是<ul><li><a>超链接</a></li></ul> 具体请自行参照官方默认页头 view/htm/header_nav.inc.htm */
<script>
$('#nav li[data-active="fid-<?php echo $fid;?>"]').addClass('active');
</script>
加载公用的页头和页脚,这个页面就完成了。不懂php没关系,只要懂bootstrap和html、css就可以了,把官方 htm 文件里的php代码复制过去即可。
默认列表排序翻页,模板中调用如下代码。
<?php if ($pagination) { ?>
<nav class="my-3">
<ul class="pagination justify-content-center flex-wrap">
<?php echo $pagination; ?>
</ul>
</nav>
<?php } ?>
可以单独调用上一页和下一页翻页,模板中可调用如下代码
<?php if ($pagination) { ?>
<nav class="my-3">
<ul class="pagination justify-content-center flex-wrap">
<?php echo pager($page_url, $num, $page, $pagesize); ?>
</ul>
</nav>
<?php } ?>