top-image

OLDER ARTICLES

首先,通过超级管理后台登录。手动访问以下链接:http://您的域名/admin.php?p=/Menu/index。这样可以打开菜单列表。在菜单列表中,找到“系统管理-系统菜单”这一选项,点击将其状态设置为启用。完成这一步骤后,接着去重新登录系统即可。
需要注意的是,截图中所使用的是默认后台登录地址域名/admin.php,但实际操作中应根据实际情况输入正确的域名地址。
PbootCMS常常会自动提取文章里的图片作为缩略图。然而,有时候文章中的第一张图可能尺寸很小,又或者由于其他种种原因,并不适宜作为缩略图来呈现。在这种情况下,PbootCms原本的智能特性就显得有些多余了。接下来,就为大家详细讲解如何修改程序,从而实现禁止 PbootCms 模板自动提取文章第一张图作为缩略图的功能。
操作步骤如下:首先,运用你的 IDE 工具,比如 VScode、Sublime 等。以“无缩略图时”作为关键词在整个项目中进行搜索,这样会搜索到 2 个文件,总共 3 处代码。接着,我们打开搜索到的代码位置,具体情况如下:
“// 无缩略图时,自动提取文章第一张图为缩略图”;
“if (! ico && preg_match('/<img\s+.*?src=\s?[\'|\"](.*?(\.gif|\.jpg|\.png|\.jpeg))[\'|\"].*?[\/]?>/i', decode_string(content), srcs) && isset(srcs[1])) {”;
“$ico = $srcs[1]”;
“}”。
我们只需要将下方以 if 开头的这三行代码进行注释即可。所谓注释,就是在这三行代码的最前面加上双斜杠。最终修改后的样子如下:
“// 无缩略图时,自动提取文章第一张图为缩略图”;
“//if (! ico && preg_match('/<img\s+.*?src=\s?[\'|\"](.*?(\.gif|\.jpg|\.png|\.jpeg))[\'|\"].*?[\/]?>/i', decode_string(content), srcs) && isset(srcs[1])) {”;
“// $ico = $srcs[1]”;
“//}”。
一共有三处这样的代码,都进行注释处理即可。如此一来,就成功去掉了 PbootCms 程序默认提取缩略图的功能。
模板中编写 PHP 代码
在 PbootCms 中,执行 PHP 代码存在两种方式:
其一:
/方法一/
{php} echo 'Hello Word!' {/php}
其二:
/方法二/
鉴于 PbootCms 的模板机制,在原生 PHP 代码当中,是不能够对 pb 标签里的值予以二次处理的。
比如说(错误示范)
在后台存在一个字段{content:title},其内容为:张三、李四、王五;我们期望对这个值进行分割并组合成新的文字。
下面的代码在逻辑上是正确的,然而却是无法执行的。
{php}print_r(explode('、','{content:title}'));{/php}
在 pbootcms 处于伪静态状态下,栏目既可以通过“www.xxx.com/about/”这样的形式进行访问,也可以通过“www.xxx.com/1/”的方式进行访问。然而,对于那些对 seo 要求极为严谨的人来说,这种情况是不合理的。那么,究竟该如何关闭通过数字 id 方式访问栏目的功能呢?下面,我们就来详细地介绍一下具体的操作方法。
在此需要特别注意的是,这个操作涉及到对源码的修改,而且在后台进行在线升级之后,所做的修改会消失!本文将以 PB3.1.3 版本为例进行介绍,其他版本可以参考此方法进行修改。
首先,打开“appshomecontrollerIndexController.php”这个文件,然后在其中搜索以下代码:
if (!! $sort &&! $suffix &&! $err) {
接着,将这段代码修改为:
if (!! $sort &&! $suffix &&! err &&!is_numeric(path)) {
 
操作后即可,可以去刷新测试了!
长度截取可以采用 len=* 或者 lencn=* 的方式。其中,使用 lencn=* 能够规避中英文长度不一致的问题,因为在这种设置下,一个英文字符被算作半个字。
在(V1.3.5+)版本中,进行内容截取时,可以通过 more=’*’来设置省略号内容,而若设置 more=”则不会显示省略号。
例如:在对内容列表标题进行截取时可使用[list:title len=60],在对内容详情页时间进行格式化时可使用{content:title len=60} 。
substr=x,y 用于截取一段字符串。substr 在截取字符串长度时,需要传递两个数字,第一个数字代表起始位置,第二个数字表示截取的长度。倘若只传递一个数字,则会截取从这个数字开始后面的全部内容。
以下是列表调用的演示代码:
{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}

 

1、调用指定栏目下的内容 tags:

 

在此处,tags 的链接会指向所填 scode 分类下列表页。例如,如果填写了数字 5 和 7,那么数字 5 下面的内容将指向 5 对应的列表页,而数字 7 下面的内容则会指向 7 对应的列表页。

 

{pboot:tags scode=,}
<a href="[tags:link]">[tags:text]</a>
{/pboot:tags}

 

2、调用指定内容的 tags:

 

如果是在内容页调用当前文章相关 tags。只需要进行判断,当 id 等于当前内容的 id,即 {content:id} 时即可实现调用。

 

{pboot:tags id=*}
<a href="[tags:link]">[tags:text]</a>
{/pboot:tags}

 

3、使用 tags 显示相似内容列表:

 

此处的 scode 可以是当前栏目标签,即 {sort:scode}。在详情页,可以配合 tags={content:tags}来调用当前文章的相关相似文章。

 

{pboot:list scode=* tags='x,y'}

 

<p><a href="[list:link]">[list:title]</a></p>
{/pboot:list}
pbootcms 模板该怎样去增加百度地图呢?
首先,您需要找到您打算增加百度地图的那个模板,其所在路径为:template 文件夹。举例来说,如果您想要将其增加到联系页面的 contact.html 上,那就找到合适的位置,然后添加如下代码:
<script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&amp;ak=YQiwVrOyoN9C9ZMGkVL2a4jT"></script>
<style type="text/css">
#allmap {width: 100%;height: 400px;margin-top:20px;overflow: hidden;font-family:"微软雅黑";}
#allmap b{color: #CC5522;font-size: 14px; }
#allmap img{max-width: none;}
</style>
      <div id="allmap"></div>
      <script type="text/javascript">
	  var map = new BMap.Map("allmap");
	  map.centerAndZoom(new BMap.Point({label:map}), 18);
	  var marker1 = new BMap.Marker(new BMap.Point({label:map}));  // 创建标注
	  map.addOverlay(marker1);              // 将标注添加到地图中
	  //marker1.setAnimation(BMAP_ANIMATION_BOUNCE); //跳动的动画				
	  //创建信息窗口 
	  var infoWindow1 = new BMap.InfoWindow("<b>{pboot:companyname}</b><br>地址:{pboot:companyaddress}<br>电话:{pboot:companyphone}");
	  marker1.openInfoWindow(infoWindow1);
	  //marker1.addEventListener("click", function(){this.openInfoWindow(infoWindow1);});	
	  //向地图中添加缩放控件
 var ctrl_nav = new BMap.NavigationControl({anchor:BMAP_ANCHOR_TOP_LEFT,type:BMAP_NAVIGATION_CONTROL_LARGE});
 map.addControl(ctrl_nav);
      //向地图中添加缩略图控件
 var ctrl_ove = new BMap.OverviewMapControl({anchor:BMAP_ANCHOR_BOTTOM_RIGHT,isOpen:1});
 map.addControl(ctrl_ove);
      //向地图中添加比例尺控件
 var ctrl_sca = new BMap.ScaleControl({anchor:BMAP_ANCHOR_BOTTOM_LEFT});
 map.addControl(ctrl_sca);
 
 map.enableDragging();//启用地图拖拽事件,默认启用(可不写)
        map.enableScrollWheelZoom();//启用地图滚轮放大缩小
        map.enableDoubleClickZoom();//启用鼠标双击放大,默认启用(可不写)
        map.enableKeyboard();//启用键盘上下左右键移动地				
</script> 

首页/列表标签:
 
列表页时间:[list:date]   效果:2021-12-06 09:12:30
 
列表页时间:[list:date style=Y-m-d]   效果:2021-12-06
 
列表页时间:[list:date style=Y   效果:2021
 
列表页时间:[list:date style=m-d]   效果:12-06
 
列表页时间:[list:date style=y-m-d]   效果:21-12-06
 
 
内容页:
 
详情页:{content:date}   效果:2021-12-06 09:12:30
 
详情页:{content:date style=Y-m-d}   效果:2021-12-06
 
详情页:{content:date style=m-d}   效果:12-06

 

pbootcms 模板在用户提交留言表单后,怎样才能跳转到指定的网址呢?
 
首先,可以通过对特定路径的代码进行修改来实现这一目的。具体而言,修改的路径为:core->function->helper.php。在这个文件中,找到第 161 行,将其修改成如下代码。
 
我们在运用 pbootcms 来构建网站的时候,于列表页使用了 istop=1 这一设置,并且在后台也进行了置顶操作,然而却毫无效果。

 

针对这个问题,通常是由于我们自身调用的缘故所致。倘若我们仅仅只想调用那些已经被置顶的文章,而不调用其他文章。此时,我们能够采用如下标签:

 


{pboot:list istop=1}

 

要是我们需要调用所有的文章,并且让置顶了的文章处于最前端的位置,那么我们可以运用以下标签:

 


{pboot:list num=8 order='istop desc,sorting asc,date desc,id desc'}

 

这种排序方式是优先按照置顶来排列,接着是置顶的几篇文章以倒序呈现,然后依据排列数字的顺序,当排列情况相同时再按照 ID 进行倒序排列。

 

上述内容便是关于 pbootcms 列表中如何置顶文章,以及 istop 不起作用时的处理办法。
Page 907 of 1049:« First« 904 905 906 907 908 909 910 »Last »
bottom-img