了解一下[nav:i],表示序号,从1开始
结合pbootcms的if判断标签
{pboot:nav}
{pboot:if([nav:i]>1)}
<a href="[nav:link]">[nav:name]</a>
{/pboot:if}
{/pboot:nav}
当需要大于1的时候开始显示,也可以按你实际的需求调整这个判断。
分享服务器维护、抵抗入侵、防篡改、防御攻击、排查后门木马、清理挖矿病毒、网络安全、信息安全、内网安全、数据灾备、网站搬迁、程序升级、威胁情报、网站安全运维的日常知识
了解一下[nav:i],表示序号,从1开始
结合pbootcms的if判断标签
{pboot:nav}
{pboot:if([nav:i]>1)}
<a href="[nav:link]">[nav:name]</a>
{/pboot:if}
{/pboot:nav}
当需要大于1的时候开始显示,也可以按你实际的需求调整这个判断。
pbootcms上一篇下一篇调用 如何把“没有了”改成英文
上一篇:{content:precontent}
下一篇:{content:nextcontent}
增加参数 notext='no more' 设置“没有了”文本,设置参数时如果带空格,需要用单引号
例子:
上一篇:{content:precontent notext='no more'}
下一篇:{content:nextcontent notext='no more'}
拓展:
上一篇内容链接:{content:prelink}
下一篇内容链接:{content:nextlink}
上一篇内容标题:{content:pretitle}
下一篇内容标题:{content:nexttitle}
上一篇内容缩略图:{content:preico}
下一篇内容缩略图:{content:nextico}
用pbootcms时候,当一个字段为空时候,我们调用另外一个字段,要怎么写呢?其实方法很简单,比起dedecms还是比较容易调用的,调用方法如下:
比如我们建立了一个icos的字段为图片字段,当这个字段不为空时候就调用这个字段,为空时候就调用缩略图。
{pboot:if('[list:ext_icos]'!='')}[list:ext_icos]{else}[list:ico]{/pboot:if}
在 PbootCMS 中,如果你想生成一个二维码标签,可以使用自定义的标签 {pboot:qrcode}
来实现。下面是如何定义和使用这个标签的具体步骤:
首先,你需要创建一个用于生成二维码的类。这里可以使用 PHP 的 endroid/qr-code
库来生成二维码。
endroid/qr-code
库通过 Composer 安装 endroid/qr-code
:
composer require endroid/qr-code
在 common
目录下创建一个文件 QrCode.php
:
<?php
namespace app\common\library;
use Endroid\QrCode\QrCode;
class QrCodeGenerator
{
public static function generate(string $string): string
{
$qrCode = new QrCode($string);
return $qrCode->writeString();
}
}
接下来,你需要注册自定义标签 {pboot:qrcode}
。
在 common
目录下创建一个文件 QrCodeTag.php
:
<?php
namespace app\common\taglib;
use think\Template\TagLib;
class QrCodeTag extends TagLib
{
protected $tags = [
'qrcode' => ['attr' => 'string', 'close' => 0],
];
public function tagQrcode($string)
{
$qrCode = (new \app\common\library\QrCodeGenerator())->generate($string);
return '<img src="data:image/png;base64,' . base64_encode($qrCode) . '" alt="QR Code">';
}
}
在模板文件中使用 {pboot:qrcode}
标签生成二维码。
假设你在某个模板文件中使用 {pboot:qrcode}
标签:
<!-- views/default/some_template.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>QR Code Example</title>
</head>
<body>
<h1>QR Code Example</h1>
<p>Generated QR Code:</p>
{pboot:qrcode string="https://www.example.com"}
<!-- 或者使用变量 -->
{assign var=url value="https://www.example.com"}
{pboot:qrcode string=$url}
</body>
</html>
确保模板引擎已经配置了自定义标签库。
在 config.php
文件中添加或确认以下配置:
return [
// ...
'template' => [
// ...
'taglib_build_in' => 'think',
'taglib_begin' => '{',
'taglib_end' => '}',
'taglib_replace' => [
'pboot' => '\\app\\common\\taglib\\PbootTag',
'qrcode' => '\\app\\common\\taglib\\QrCodeTag',
],
],
// ...
];
通过以上步骤,你可以成功地在 PbootCMS 中使用自定义标签 {pboot:qrcode}
生成二维码。具体步骤包括:
endroid/qr-code
库。这样就可以在模板中方便地生成二维码,并且可以根据实际需求调整二维码的样式和参数。
为了去掉 UEditor 上传图片时自动添加的 title
和 alt
属性,并且将 alt
属性设置为空,可以按照以下步骤进行修改:
ueditor.all.min.js
文件打开文件:
\core\extend\ueditor\ueditor.all.min.js
。搜索并修改代码:
搜索 "imageUrlPrefix"
,找到以下代码:
g.setAttribute("title", f.title || ""), g.setAttribute("alt", f.original || "")
将其修改为:
g.setAttribute("title", ""), g.setAttribute("alt", "")
继续修改代码:
找到以下代码:
g.removeAttribute("id"),
在这段代码后面添加:
g.removeAttribute("title"),
最终修改后的代码如下:
g.setAttribute("title", ""), g.setAttribute("alt", "");
g.removeAttribute("id"),
g.removeAttribute("title"),
打开文件:
\apps\admin\view\default\common\ueditor.html
。修改引入的 JS 文件路径:
找到以下代码:
<script type="text/javascript" src="{CORE_DIR}/extend/ueditor/ueditor.all.min.js"></script>
修改为:
<script type="text/javascript" src="{CORE_DIR}/extend/ueditor/ueditor.all.min.js?v=1"></script>
要在 PbootCMS 中修改文章的默认访问量,使其在添加文章时设置一个随机访问数,可以按照以下步骤操作:
ContentController.php
文件。ContentController.php
文件打开文件 apps/admin/controller/content/ContentController.php
。
在 session('addscode', $scode);
下方添加一行代码:
// 添加随机访问数
$visits = rand(100, 200);
找到以下代码:
'visits' => 0,
将其修改为:
'visits' => $visits,
在 PbootCMS 中,如果你需要在模板的内容页中调用当前页面的完整 URL,可以结合使用 {pboot:httpurl}
和 {content:link}
来实现。这样可以确保生成的 URL 是完整的,并且包含了当前页面的路径。
假设你需要在模板的内容页中调用当前页面的完整 URL,可以使用以下代码:
<!-- 获取当前页面的完整 URL -->
<a href="{pboot:httpurl}{content:link}">完整 URL</a>
{pboot:httpurl}
:
https://example.com
{content:link}
:
/article/123
遇到 Undefined constant "PAGE"
的错误提示,通常是因为在代码中使用了一个未定义的常量。这可能是由于以下几个原因导致的:
检查常量拼写:
引入命名空间:
检查配置文件:
假设你在 PHP 代码中使用了 PAGE
常量,但出现了 Undefined constant "PAGE"
的错误。我们可以逐步排查并解决这个问题。
假设 PAGE
常量是在某个配置文件中定义的,例如 config.php
:
// config.php
define('PAGE', 'page');
在主文件中引入配置文件:
// index.php
require_once 'config.php';
echo PAGE; // 输出 'page'
假设你在 PbootCMS 的模板文件中使用了 PAGE
常量,但出现了 Undefined constant "PAGE"
的错误。我们可以逐步排查并解决这个问题。
假设 PAGE
常量是在某个 PHP 文件中定义的,例如 constants.php
:
// constants.php
define('PAGE', 'page');
在模板文件中引入常量文件:
// template.php
require_once 'constants.php';
echo PAGE; // 输出 'page'
假设你在 PbootCMS 的模板文件中使用了 PAGE
常量,但出现了 Undefined constant "PAGE"
的错误。可以按照以下步骤解决:
确认常量定义:
PAGE
常量是否在全局配置文件中定义。引入常量文件:
假设 PAGE
常量定义在 includes/constants.php
文件中:
// includes/constants.php
define('PAGE', 'page');
在模板文件中引入常量文件:
// templates/article_detail.php
<?php require_once 'includes/constants.php'; ?>
<h1>文章详情</h1>
<!-- 文章标题 -->
<h2><?php echo $article->title; ?></h2>
<!-- 文章内容 -->
<div><?php echo $article->content; ?></div>
<!-- 相关文章 -->
<h2>相关文章</h2>
<div class="related-articles">
{pboot:list scode={sort:scode} num=4}
<div class="related-article">
<h3><?php echo $list->title; ?></h3>
<p><a href="<?php echo $list->link; ?>"><?php echo $list->title; ?></a></p>
<p><?php echo $list->summary; ?></p>
</div>
{/pboot:list}
</div>
<!-- 输出常量 -->
<p><?php echo PAGE; ?></p>
通过这些步骤,你可以解决 Undefined constant "PAGE"
的错误,并确保常量在代码中正确使用。
在 PbootCMS 中,可以使用 {pboot:list}
标签来调用相关文章。相关文章通常是根据分类或其他条件筛选出来的文章。下面是一个详细的示例,展示如何在模板内页调用相关文章。
假设你想在一个文章详情页中调用与当前文章相同分类下的其他文章,可以使用以下代码:
{pboot:list scode={sort:scode} num=4}
<div class="related-article">
<h3>{list:title}</h3>
<p><a href="[list:link]">{list:title}</a></p>
<p>{list:summary len=100 more="..."}</p>
</div>
{/pboot:list}
{pboot:list}
标签:
scode={sort:scode}
:表示从当前分类(sort:scode
)中调用文章。num=4
:表示最多调用 4 篇相关文章。内部标签:
[list:title]
:表示文章标题。[list:link]
:表示文章链接。[list:summary]
:表示文章摘要。假设你有一个文章详情页模板,可以在其中调用相关文章:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>文章详情页</title>
</head>
<body>
<h1>文章详情</h1>
<!-- 文章标题 -->
<h2>{content:title}</h2>
<!-- 文章内容 -->
<div>{content:content}</div>
<!-- 相关文章 -->
<h2>相关文章</h2>
<div class="related-articles">
{pboot:list scode={sort:scode} num=4}
<div class="related-article">
<h3>{list:title}</h3>
<p><a href="[list:link]">{list:title}</a></p>
<p>{list:summary len=100 more="..."}</p>
</div>
{/pboot:list}
</div>
</body>
</html>
文章详情页:
相关文章:
{pboot:list}
标签,从当前分类中调用最多 4 篇相关文章。scode={sort:scode}
:
{sort:scode}
是当前分类的唯一标识符。num=4
:
内部标签:
[list:title]
:文章标题。[list:link]
:文章链接。[list:summary]
:文章摘要,可以使用 len=*
和 more=*
参数进行截取。通过这种方式,你可以方便地在文章详情页中调用相关文章,增强用户体验。