《全栈营销之如何制作个人博客》之六:php个人博客首页数据调取完整 广告位完善

今天主要做的是把首页的广告位给完善,及首页剩下的静态数据修改成动态调取的,比如公告,推荐文章,右侧广告位。都修改成动态的数据,方便后期后台管理博客数据。

一.Thinkcmf广告位标签

幻灯片相关的标签有两个,slides和 noslides ,slides标签这个标签其实就一个循环标签,只是会把你指定的幻灯片数据获取出来。

案例如下:

<ul id="home-slider" class="list-unstyled">
 <slides id="1">
 <li>
 <div class="caption-wraper">
 <div class="caption">{$vo.title|default=''}</div>
 </div>
 <a href=""><img src="__TMPL__/public/assets/images/demo/1.jpg" alt=""></a>
 </li>
 </slides>
 <noslides id="1">
 <li>你还没有创建幻灯片;</li>
 </noslides>
</ul>

 

二.thinkcmf 文章数据调取

Thinkcmf模板调取文章数据,主要用到articles标签,包含属性:field,where,limit,order,page,relation,pageVarName,categoryIds,item。

标签属性名 含义

where 查询条件变量, 支持数组和字符串,如$where

limit 最多查出文章数,如果分页开启,此设置无效

order 文章排序方式

page 分页参数,如果设置分页参数会自动分页

relation 关联查询,支持categories和user,多个以英文逗号分隔

pageVarName 分页后生成的分页变量名,只有设置分页参数时才有效

categoryIds 分类 id,支持数组和字符串(英文逗号分开)

一个最新文章列表,不分页:

<php>
 $category_ids=1;
</php>
<portal:articles limit="5" order="post.published_time DESC"
 categoryIds="$category_ids">
 <dl class="dl-horizontal">
 <dt>
 <a class="img-wraper"
 href="{:url('portal/Article/index',array('id'=>$vo.id,'cid'=>$vo['categories'][0]['id']))}">
 <if condition="empty($vo.more.thumbnail)">
 <img src="__TMPL__/public/assets/images/default_tupian4.png"
 class="img-responsive" alt="{$vo.post_title}"/>
 <else/>
 <img src="{:cmf_get_image_url($vo.more.thumbnail)}"
 class="img-responsive" alt="{$vo.post_title}"/>
 </if>
 </a>
 </dt>
 <dd>
 <a href="{:url('portal/Article/index',array('id'=>$vo['id'],'cid'=>$vo['categories'][0]['id']))}">{$vo.post_title}</a>
 </dd>
 </dl>
</portal:articles>

 

一个文章列表,分页

<div>

<php>

$where=[

'post.create_time'=>['egt',0]

];

</php>

<portal:articles item="vo" where="$where" order="post.create_time DESC" page="10"

relation="categories"

categoryIds="$category.id"

returnVarName="articles_data">

<div class="list-boxes">

<h2><a href="{:cmf_url('portal/Article/index',array('id'=>$vo['id'],'cid'=>$category['id']))}">{$vo.post_title}</a>

</h2>

<p>{$vo.post_excerpt}</p>

<div>

<div class="pull-left">

<div class="list-actions">

<a href="javascript:;"><i class="fa fa-eye"></i><span>{$vo.post_hits}</span></a>

<a href="{:url('portal/Article/doLike',array('id'=>$vo['id']))}"

class="js-count-btn"><i class="fa fa-thumbs-up"></i><span class="count">{$vo.post_like}</span></a>

<a href="{:url('user/Favorite/add',array('id'=>$vo['id']))}"

class="js-favorite-btn" data-title="{$vo.post_title}"

data-url="{:cmf_url('portal/Article/index',array('id'=>$vo['id'],'cid'=>$category['id']))}"

>

<i class="fa fa-star-o"></i>

</a>

</div>

</div>

<a class="btn btn-warning btn-sm pull-right"

href="{:cmf_url('portal/Article/index',array('id'=>$vo['id'],'cid'=>$category['id']))}">查看更多</a>

</div>

</div>

</portal:articles>

</div>

<ul class="pagination">

<page/>

</ul>

我们的代码会共享出来,分享给大家。如果你获取完整的文字教程,视频教程,源码,关注公众号:云码素材,加微信:xnynews入群,和小伙伴一起学习,一起动手制作你的个人博客,一起探讨代码。

《全栈营销之如何制作个人博客》之六:php个人博客首页数据调取完整 广告位完善

上一篇:浅析VO、DTO、DO、PO的概念、区别和用处


下一篇:javascript 作用域链及闭包,AO,VO,执行环境