讨论 使用交流 这个BLOG模板样式能用开发标签实现吗?

这个BLOG模板样式能用开发标签实现吗?

johnnypro 发表于    阅读:272    回复:12

有2个问题:就是博客的日志列表能不能以下图的形式展示出来。主要是:1是左边的年份列表想要读取BLOG的日志列表发布时间,但是一个年份会有多条BLOG日志,会全部罗列出来,能不能实现相同的年份只出现一条?   2右边的年份只显示一次后会把这年所有的日志分类显示出来。  请问用标签能实现吗? FOR标签的嵌套循环写法如何写,请教一下,万分感谢 !

评论

新增了一个方法可以列出所有博客,然后按照时间字段进行循环过滤显示。

<?php $yearData = \MBlog::listBlogByYear(); ?>
<div>
    共有 {{$yearData['total']}} 篇博客
</div>
@foreach($yearData['records'] as $year=>$yearItem)
    <div>
        {{$yearItem['year']}}年{{$yearItem['count']}}篇
    </div>
    <div>
        <ul>
            @foreach($yearItem['records'] as $b)
                <li>
                    <a href="{{modstart_web_url('blog/'.$b['id'])}}">
                        {{$b['title']}}
                    </a>
                </li>
            @endforeach
        </ul>
    </div>
@endforeach


可使用最新文件的MBlog文件替换一下 https://gitee.com/modstart/ModStartBlog/blob/master/module/Blog/Core/MBlog.php 。

下个版本会自动升级该方法。

 

收到,万分感谢,请问一下,日期中几月几日的获取方式标签如何写?

 
date('m-d',strtotime($b['postTime']))



 

已实现,万分感谢!

29650_zlgy_9029.png



 

请问一下,如上图,相同日期(同一天)的记录前的日期只显示一次,请问这个标签代码如何写才能实现?

 

@johnnypro:

<?php $yearData = \MBlog::listBlogByYear(); ?>
<div>
    共有 {{$yearData['total']}} 篇博客
</div>
@foreach($yearData['records'] as $year=>$yearItem)
    <div>
        {{$yearItem['year']}}年{{$yearItem['count']}}篇
    </div>
    <div>
        <ul>
            <?php $currentDay = null; ?>
            @foreach($yearItem['records'] as $b)
                <?php $d = date('Y-m-d',strtotime($b['postTime']); ?>
                @if(!$currentDay || $currentDay!=$d)
                    <?php $currentDay = $d; ?>
                    <li>
                        {{ $d }}  
                    </li>
                @endif
                <li>
                    <a href="{{modstart_web_url('blog/'.$b['id'])}}">
                        {{$b['title']}}
                    </a>
                </li>
            @endforeach
        </ul>
    </div>
@endforeach


 

经测试,此代码会报页面500错误 。        

不知道是哪个标签有问题

 
<?php $d = date('Y-m-d',strtotime($b['postTime']); ?>

少个括号。建议基础可以多了解一下再开发模板。

 

刚也发现了,忘了回复,谢谢!

 

@ModStart:

{{ $b['images'] }}   这个标签无法读取博客文章封面图片吗?            

 

这个应该是数组,需要循环输出。

@foreach($b['images'] as $i)
    <img src="{{$i}} />
@endforeach


 
1
我来评论
QQ
微信