主题列表

燃烧的冰2019-12-28  309

列表不区分门户和扁平,直接显示当前版块数据、当前版块主题数据和当前版块的自定义标签主题数据。


对应的文件 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 可根据自己的需要修改成自己的样式,复制一份该文件到自己的模板目录,然后加载该文件。加载方法

<?php include _include(APP_PATH . 'view/template/demo/htm/thread_list.inc.htm');?>

demo为自己的模板目录,加载时路径和文件名必须正确。


// ----前台管理代码,不需要前台管理可删除----

<?php include _include(APP_PATH.'view/htm/thread_list_mod.inc.htm');?>


// ----翻页代码----

<?php if ($pagination) { ?>
<nav class="my-3">
    <ul class="pagination justify-content-center flex-wrap">
        <?php echo $pagination; ?>
    </ul>
</nav>
<?php } ?>


自定义标签主题数据对应的变量名 $flaglist 循环输出设置为显示的自定义标签和标签下主题,单独调用自定义标签主题,请看 自定义调用 这篇内容

<?php if(!empty($flaglist)){ ?>
<?php 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'])){ ?>
        <?php 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 ($_thread['type']==10?'rel="nofollow" target="_blank"':''); ?> title='<?php echo $_thread['subject'];?>' aria-label='<?php echo $_thread['subject'];?>'>
                <?php echo $_thread['subject'];?>
                </a>
            </h4>
        </li>
        <?php } ?>
        <?php } ?>
    </ul>
</div>
<?php } ?>
<?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代码复制过去即可。