归类文档加载分类icon插件

李元波 发布于 阅读:271 模板插件


归档这个鬼

加载icon就变得延迟太高了,真慢!

<?php
}

if($archive == 'sort'){
    $sort_cache = $CACHE->readCache('sort');
    echo '<div class="sort-archive-left">';
    if($sort_cache){
    ?>
        <div class="layui-row layui-col-space15">
        <?php
        foreach ($sort_cache as $val){
            if($val['pid'] != 0){
                continue;
            }

            // 获取当前分类的图标(添加懒加载)
            $icon_html = '<div class="icon-placeholder"></div>'; // 初始显示占位符
            $cid = $val['sid'];
            if (!empty($category_icons[$cid])) {
                $icon_value = $category_icons[$cid];

                if (preg_match('/\.(jpg|jpeg|png|gif|svg|webp)$/i', $icon_value)) {
                    // 图片图标添加懒加载
                    $icon_html = "<img src='data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==' " .
                                 "data-src='" . htmlspecialchars($icon_value) . "' " .
                                 "class='sort-icon-img lazyload' " .
                                 "alt='{$val['sortname']}的图标' " .
                                 "onerror=\"this.src='https://picsum.photos/18/18';this.title='图片加载失败'\">";
                } else {
                    // FontAwesome图标直接显示
                    $icon_html = "<i class='" . htmlspecialchars($icon_value) . " sort-icon' " .
                                 "alt='{$val['sortname']}的图标'></i>";
                }
            }
        ?>
        <div class="layui-col-md12">
            <div class="layui-card">
                <div class="layui-card-header">
                    <h2 class="layui-font-16">
                        <?=$icon_html?>
                        <?=$val['sortname']?>
                    </h2>
                </div>
                <div class="layui-card-body">
                    <div class="sort_item_head layui-tab layui-tab-brief">
                        <?php
                        if(isset($val['children']) && count($val['children'])>0){
                        ?>
                        <ul class="layui-tab-title">
                            <?php
                            if($val['lognum'] > 0){
                            ?>
                                <li class="layui-this"><?=$val['sortname']?><span class="layui-badge layui-bg-gray"><?=$val['lognum']?></span></li>
                            <?php
                            }
                            if(isset($val['children']) && count($val['children'])>0){
                                $i = -1;
                                foreach ($val['children'] as $sid){
                                    $i++;
                            ?>
                                <li class="<?=$val['lognum']==0 && $i==0? "layui-this":""?>"><?=$sort_cache[$sid]['sortname']?><span class="layui-badge layui-bg-gray"><?=$sort_cache[$sid]['lognum']?></span></li>
                            <?php
                                }
                            }
                            ?>
                        </ul>
                        <?php }?>

                        <div class="layui-tab-content">
                            <?php
                            if($val['lognum'] > 0){
                            ?>
                                <div class="layui-tab-item layui-show layui-row layui-col-space5">
                                <?php
                                $logs = $Log_Model->getLogsForHome('and sortid='.$val['sid'].' order by date desc', 1, $showLogNum);
                                foreach ($logs as $blog){
                                ?>
                                    <li class="layui-col-xs12 layui-col-sm6 layui-col-md4">
                                        <a target="_blank" href="<?=Url::log($blog['logid'])?>" title="<?=$blog['log_title']?>"><?=$blog['log_title']?> <?php if(date("Ymd", $blog['date']) == date("Ymd")){?><span class="layui-badge">新</span><?php }?></a>
                                    </li>
                                <?php
                                }
                                if($val['lognum'] > $showLogNum){
                                ?>
                                    <li class="layui-col-xs12"><a class="layui-font-black" target="_blank" href="<?=Url::sort($val['sid'])?>" title="<?=$val['sortname']?>">查看更多<?=$val['lognum']-$showLogNum?>篇文章 ></a></li>
                                <?php
                                }
                                ?>
                                </div>
                            <?php
                            }
                            if(isset($val['children']) && count($val['children'])>0){
                                $i = -1;
                                foreach ($val['children'] as $sid){
                                    $i++;
                            ?>
                                <div class="layui-tab-item <?=$val['lognum']==0 && $i==0? "layui-show":""?> layui-row layui-col-space5">
                                    <?php
                                    if($sort_cache[$sid]['lognum'] > 0){
                                        $logs = $Log_Model->getLogsForHome('and sortid='.$sid, 1, $showLogNum);
                                        foreach ($logs as $blog){
                                    ?>
                                        <li class="layui-col-xs12 layui-col-sm6 layui-col-md4">
                                            <a target="_blank" href="<?=Url::log($blog['logid'])?>" title="<?=$blog['log_title']?>"><?=$blog['log_title']?> <?php if(date("Ymd", $blog['date']) == date("Ymd")){?><span class="layui-badge">新</span><?php }?></a>
                                        </li>
                                    <?php
                                        }
                                        if($sort_cache[$sid]['lognum'] > $showLogNum){
                                    ?>
                                    <li class="layui-col-xs12"><a class="layui-font-black" target="_blank" href="<?=Url::sort($sid)?>" title="<?=$sort_cache[$sid]['sortname']?>">查看更多<?=$sort_cache[$sid]['lognum']-$showLogNum?>篇文章 ></a></li>
                                <?php
                                        }
                                    }
                                ?>
                                </div>
                            <?php
                                }
                            }
                            ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>
        <?php
        }
        echo '</div>';
    }else{
        echo '<div class="not">暂无分类!</div>';
    }
    echo '</div>';
}

if($archive == 'tags'){
    $tags_cache = $CACHE->readCache('tags');
    $color = ['orange', 'red', 'green', 'blue', 'purple', 'black'];
    $i = rand(0 , count($color)-2);
?>
    <div class="tags-box">
<?php
    if($tags_cache){
        foreach ($tags_cache as $val){
            $i++;
            if($i > count($color)-1) $i = rand(0 , count($color)-2);
    ?>
            <a class="layui-badge-box" href="<?=BLOG_URL.'/tag/'.$val['tagurl']?>" target="_blank" title="<?=$val['tagname']?>">
                <span class="layui-badge layui-bg-<?=$color[$i]?>"><?=$val['tagname']?></span>
                <span class="layui-badge layui-bg-<?=$color[$i+1]?>"><?=$val['usenum']?>篇文章</span>
            </a>
    <?php
        }
    }else{
        echo '<div class="not">暂无标签!</div>';
    }
?>

撰写评论

评论列表 (2)

avatar
Josephanymn
13 天前
我非常尊敬, 写得很实在。你的博客 就是 最好的例子。加油。 [url=https://iqvel.com/zh-Hans/a/%E6%97%A5%E6%9C%AC/%E5%B1%8B%E4%B9%85%E5%B2%9B]屋久鹿猴[/url] 让人精神焕发的 帖子! 继续创作。
回复
avatar
Steveicell
13 天前
令人惊叹的 旅行项目, 加油 方向正确。致敬. [url=https://iqvel.com/zh-Hans/a/%E4%BF%84%E7%BD%97%E6%96%AF/%E9%98%BF%E7%93%A6%E5%B0%94%E6%9B%BC]徒步路線[/url] 我尊重这样的项目, 真实的旅行者分享建议。你的内容 就是 最好的例子。很出色。
回复