top-image

OLDER ARTICLES

  • 问题描述[field:writer/] 标签不读取附加表中的作者信息。
  • 解决方法
    1. 打开 include/inc/inc_fun_SpGetArcList.php 文件,找到第120行,在后面加 arc.writer,
    2. 你可以根据需要加入其他附加表内容,如 arc.writer, arc.source, arc.shorttitle
  • 问题:PbootCMS模板标签序数从2开始。
  • 答案
    • 总共2个标签,分别是导航标签和列表标签。
    • pboot:nav 标签中,[nav:i] 表示序号,从1开始。
    • 使用 pboot:if 判断标签来控制显示条件,例如 {pboot:if([nav:i]>1)} 表示序号大于1时显示。
    • 若要显示第2到第5个导航,可以通过增加条件判断或直接在 {pboot:nav} 标签中设置 num=5
    • 在 pboot:list 标签中,使用 start 参数来指定起始位置,例如 {pboot:list scode=1 start=2 num=5}
  1. 使用 Notepad++ 全局查找无缩略图时,自动提取文章第一张图为缩略图的代码:
if (!$ico && preg_match('/<img\s+.*?src=\s?[\''|"](.*?(\.gif|\.jpg|\.png|\.jpeg))[\''"].*?[\/]?>/i', decode_string($content), $srcs) && isset($srcs[1])) {
  $ico = $srcs[1];
}
  1. 注释掉或删除上述代码,即可去掉 PbootCMS 程序默认提取缩略图的功能。
  1. 内容页:
    html
     
    {pboot:tags id={content:id}}
    [tags:text]
    {/pboot:tags}
  2. 全站tag调用:
    html
     
    {pboot:tags}
    [tags:text]
    {/pboot:tags}
  3. 当前tag名称:
    html
     
    {$get.tag}
  4. tags.html调用列表:
    html
     
    {pboot:list num=10 scode=* page=1}
  • HTML代码:
    {pboot:if({page:rows} > 0)}
    首页 上一页 {page:numbar} 下一页 尾页
    {else}
    本分类下无任何数据!
    {/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: 8px 12px;
        margin: 0 5px;
        border-radius: 3px;
    }
    .pagination span {
        color: #333;
        font-size: 14px;
        padding: 8px 2px;
        margin: 0 5px;
        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=7 num=3}
    {pboot:lists code=[nav:scode] num=3 order=sorting}
    {/pboot:lists}
{/pboot:nav}

 

  1. 打开 \apps\home\controller\ParserController.php,搜索 case 'decode':
  2. 在其下方增加:
    case 'br':
    if ($params['br']) {
    $data = nl2br($data);
    }
    break;
  3. 前台使用方式:
    [list:ext_jianjie br=1]
    • br 标签可以在全局使用,具体按需使用。
  • 问题:PbootCMS默认的图片裁剪是从左上角开始,导致多人物合影时C位被裁剪。
  • 解决方案
    • 编辑/core/function/file.php文件,找到cut_img函数(约447行)。
    • 修改或替换cut_img函数,实现无论横图竖图都能居中裁剪。
    • 使用示例:{pboot:list scode=*}<a href="[list:link]"><img src="[list:ico width=600 height=400]" /></a>{/pboot:list},生成600*400像素的居中裁剪图片。
  1. 修改文件

    • 文件路径:/apps/home/controller/ParserController.php
  2. 添加代码

    • 在找到的代码段下方添加:
      php
       
      $tags = implode(',', $rs); // 把栏目tags串起来
      $tagsArrSum = array_count_values(explode(',', $tags)); // @mk-tags_one_sum 把所有tags组成数组并计算每个值得数量
  3. 添加新的判断

    • 在 case 'text': 后面添加:
      php
       
      case 'sum':
      $sum = $tagsArrSum[$value['tags']]; // @mk-tags_one_sum
      $one_html = str_replace($matches2[0][$j], $sum, $one_html);
      break;
  4. 前台调用

    • 使用 {pboot:tags} 标签调用:
      html
       
      {pboot:tags scode=6 target=tag}
      <li><a href="[tags:link]"><p title="[tags:text]">[tags:text]</p><font><span>([tags:sum])</span></font></a></li>
      {/pboot:tags}
  • 列表页中调用
    markdown
     
    {pboot:tags id=[list:id]}
    <a href="[tags:link]">[tags:text]</a>
    {/pboot:tags}
  • 内容页中调用
    markdown
     
    {pboot:tags id={content:id}}
    <a href="[tags:link]">[tags:text]</a>
    {/pboot:tags}
  • 全站tag调用
    markdown
     
    {pboot:tags}
    <a href="[tags:link]">[tags:text]</a>
    {/pboot:tags}
  • tags.html调用列表
    markdown
     
    {pboot:list num=10 scode=* page=1}
    {/pboot:list}
Page 533 of 1049:« First« 530 531 532 533 534 535 536 »Last »
bottom-img