top-image

OLDER ARTICLES

{pboot:nav parent=栏目编号}
    {pboot:if('[nav:type]'==1 && '[nav:scode]' != 需要排除的编号)}
        {pboot:content scode=[nav:scode]}
            [content:content]
        {/pboot:content}
    {/pboot:if}
{/pboot:nav}

 

第一步:PbootCMS 单页/总页数 分页条效果
显示上一页,下一页,首页,尾页,和当前页,以及当前页位于总页数的位置
 
这种分页效果简洁明了,适合博客站和咨询站等网站使用
<!-- 分页 -->
{pboot:if({page:rows}>0)}
  <div class="pagebar">
    <div class="pagination">
      <a class="page-item page-link hidden-sm" href="{page:index}" title="首页">首页</a>
      <a class="page-item page-link" href="{page:pre}" title="上一页">上一页</a>
      <a class="page-item page-num-current" href="javascript:;" title="当前页">{page:current}</a>
      <a class="page-item page-link" href="javascript:;" title="当前页/总页数">{page:current}/{page:count}</a>
      <a class="page-item page-link" href="{page:next}" title="下一页">下一页</a>
      <a class="page-item page-link hidden-sm" href="{page:last}" title="尾页">尾页</a>
    </div>
  </div> 
{else}
  <div class="tac text-secondary">本分类下无任何数据!</div>
{/pboot:if}

第二步:CSS样式代码美化后的分页条效果


.pagebar .pagination {
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
.pagination a {
  background: #fff;
  border: 1px solid #ccc;
  color: #333;
  font-size: 14px;
  padding: 6px 8px;
  margin: 0 2px;
  border-radius: 3px;
}
.pagination a:hover {
  color: #4fc08d;
  border: 1px solid #4fc08d;
}
.pagination a.page-num-current {
  color: #fff;
  background: #4fc08d;
  border: 1px solid #4fc08d;
}

 

{pboot:nav parent=栏目编号}
    {pboot:if('[nav:type]'==1)}
        {pboot:content scode=[nav:scode]}
            [content:content]
        {/pboot:content}
    {/pboot:if}
{/pboot:nav}

 

打开/apps/home/model/SitemapModel.php,在78行后面增加个指定分类标签调用代码。

// 指定分类标签调用
public function getSortTags($scode)
{
    $join = array(
        array(
            'ay_content_sort b',
            'a.scode=b.scode',
            'LEFT'
        ),
        array(
            'ay_model c',
            'b.mcode=c.mcode',
            'LEFT'
        )
    );
    
    $scode_arr = array();
    if ($scode) {
        // 获取所有子类分类编码
        $this->scodes = array(); // 先清空
        $scodes = $this->getSubScodes(trim($scode)); // 获取子类
                                                     
        // 拼接条件
        $scode_arr = array(
            "a.scode in (" . implode_quot(',', $scodes) . ")",
            "a.subscode='$scode'"
        );
    }
    $result = parent::table('ay_content a')->where('a.status=1')->where("c.type=2 AND a.tags<>''")
        ->where($scode_arr, 'OR')
        ->join($join)
        ->order('a.visits DESC')
        ->column('a.tags');
    return $result;
}

打开/apps/home/controller/SitemapController.php,在73行后面增加

if (! ! $rs = $this->model->getSortTags('')) {
    $tags = implode(',', $rs); // 把栏目tags串起来 AB模板网
    $tags = array_unique(explode(',', $tags)); // 再把所有tags组成数组并去重
    foreach ($tags as $key2 => $value2) {
        if (! in_array($value2, array_column($data, 'tags'))) { // 避免重复输出
            $url_rule_type = $this->config('url_rule_type') ?: 3;
            if ($url_rule_type == 3) {
                $link2 = Url::home('tag=' . urlencode($value2), '');
            } else {
                $link2 = Url::home('tag/' . urlencode($value2));
            }
            $str .= $this->makeNode($link2, date('Y-m-d'), '0.80');
        }
    }
}

 

近来在协助客户处理安装过程中遭遇的这样一个状况,在安装 pbootcms 之后,访问后台的/admin.php 能够成功,然而直接访问首页却显示 404 错误。
运行环境
所采用的运行环境为:windows 操作系统加上 nginx 服务器再加上 php 语言的组合环境。
详细经过
客户表示伪静态规则始终未能生效,经过查看,将代码放置到服务器上,除了后台的/admin.php 能够被访问到,其余的页面均呈现 404 错误。持续进行了各种尝试来导入伪静态,但是所有的页面仍然是 404 状态。
原本以为是 nginx 的配置出现了差错,随后卸载 nginx 并重新进行安装,然而问题依然存在。耗费了大量的时间和精力,尝试进入后台从官方获取授权码,并填写至后台,在这之后再访问首页就恢复正常了。
问题总结
通常来讲,在未填写授权码的情况下访问首页和其他页面,应当是提示前往官方获取授权才对,并不清楚为何在这个运行环境中会直接返回 404 错误。
期望这份记录能够为遇到相同问题的朋友们提供一定的帮助。PS:安装 pbootcms 时无论如何都要首先去获取授权码,然后将其填写到网站中。

一、导航标签
首先来了解一下[nav:i],这里需要注意的是,它表示序号,并且是从 1 开始的。
然后再结合 pbootcms 的 if 判断标签来看。
{pboot:nav}
{pboot:if([nav:i]>1)}
<a href="[nav:link]">[nav:name]</a>
{/pboot:if}
{/pboot:nav}
当有需求的时候,是在需要大于 1 的时候开始显示,不过您也完全可以按照您实际的具体需求来对这个判断进行相应的调整。
倘若您是要调用文章,并且是从第二篇文章开始调用的话,那么可以参考下面给出的教程:
首先打开:百度搜索资源平台(https://ziyuan.baidu.com/),如果您还没有账号,那么可以直接注册一个新的账号。
然后点击用户中心,接着选择站点管理,再点击添加网站(请务必按照系统给出的提示进行相关操作)
最后点击资源提交,找到普通收录,然后选择推送接口,此时您就能够看到 Token 值了!
把 token= 后面的那串代码复制下来,然后添加到您自己网站的后台当中就可以了
对于内容列表标题的截取可以是[list:title len=60]、在内容详情页进行时间格式化可以写成{content:title len=60}
substr=x,y 能够用于截取一段。
substr 用于截取字符串的长度,传递两个数字,第一个数字代表起始位置,第二个数字代表截取的长度,如果只有一个数字,那么就会截取从这个数字开始往后的全部内容。
PbootCMS 网站列表调用代码示例:
{pboot:list scode=[nav:scode] num=3 order=sorting start=2}
<a href="[list:link]"  title="[list:title]">
<strong>[list:date style=d]</strong>[list:date style=Y-m]</div>
<h4>[list:title]</h4>
<p> [list:description lencn=60] </p>
</a> 
{/pboot:list}

 

在运用 pbootcms 模板来构建网站的整个流程之中,如果列表采用了缩略图予以显示,那么即使在后台未曾上传缩略图的情况下,依然会展示出默认图片。
倘若我们并不期望显示默认图片,在此种情形下,我们便能够借助 PB 自身所带有的缩略图返回值,来对是否上传了缩略图进行判定。
以下所呈现的是只有在判定存在缩略图时才会显示图片,没有上传缩略图则不会显示默认图片的相关代码:
{pboot:list scode={sort:scode}}
<li class="note-li">
    <a href="[list:link]" title="[list:title]">
    <div class="flex-column">
        {pboot:if('[list:isico]'=='1')}
        <div class="img-box">
        <img src="[list:ico]" alt="[list:title]">
        </div>
        {/pboot:if}
        <div class="text-box">
        <h4>[list:title]</h4>
        <p class="intro hidden-sm">[list:content drophtml=1 dropblank=1 lencn=120]</p>
        <p><span><i class="fa fa-clock-o" aria-hidden="true"></i> [list:date style=Y-m-d]</span><span><i class="fa fa-eye" aria-hidden="true"></i> list:visits 浏览</span><span><i class="fa fa-thumbs-up" aria-hidden="true"></i> list:likes 点赞</span></p>
        </div>
    </div>
    </a>
</li>
{/pboot:list}

其中,以下所呈现的部分代码正是用于判断是否存在图片的代码。在 PB 中,“isico”这个变量可以获取返回值为 1 或者 0。通过判断“isico”的值等于 1 或者 0,再结合 PB 中的判断语句,便能够确定是否有缩略图存在。

{pboot:if('list:isico'=='1')}
    <div class="img-box">
        <img src="[list:ico]" alt="[list:title]">
    </div>
{/pboot:if}

如此判断后在没有传缩略图时就不会显示默认图片了

Page 908 of 1049:« First« 905 906 907 908 909 910 911 »Last »
bottom-img