top-image

OLDER ARTICLES

在 PBootCMS 中,httpurlpageurl 和 sitedomain 标签用于获取当前站点的相关网址信息。以下是详细的使用说明和示例代码。

1. 当前站点网址

标签说明

  • {pboot:httpurl}:自适应获取当前访问网址,主要用于需要使用网站路径前缀的情况。

示例输出

plaintext
 
https://www.xxx.cn/

2. 当前页面

标签说明

  • {pboot:pageurl}:获取当前访问页面地址。

示例输出

plaintext
 
https://www.xxx.cn/some-page.html

3. 站点根网址

标签说明

  • {pboot:sitedomain}:获取站点的网站根网址。

示例输出

plaintext
 
https://www.xxx.cn/

示例代码

1. 当前站点网址

html
 
<p>当前站点网址:{pboot:httpurl}</p>

2. 当前页面

html
 
<p>当前页面地址:{pboot:pageurl}</p>

3. 站点根网址

html
 
<p>站点根网址:{pboot:sitedomain}</p>

综合示例

假设你需要在一个页面中同时展示当前站点网址、当前页面地址和站点根网址,可以使用以下代码:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>站点信息示例</title>
</head>
<body>
    <h1>站点信息示例</h1>
    <p>当前站点网址:{pboot:httpurl}</p>
    <p>当前页面地址:{pboot:pageurl}</p>
    <p>站点根网址:{pboot:sitedomain}</p>
</body>
</html>

应用场景

1. 生成二维码

假设你需要为当前页面生成一个二维码,可以使用 pageurl 参数:

html
 
<!-- 生成当前页面的二维码 -->
{pboot:qrcode string={pboot:pageurl}}
<img src="[qrcode:image]" alt="当前页面二维码">
{/pboot:qrcode}

2. 产品列表页

假设你需要在产品列表页中展示每个产品的详细页面地址,可以使用 pageurl 结合其他标签:

<!-- 产品列表页 -->
<ul>
    {pboot:loop list=$product_list}
        <li>
            <h3>{content:title}</h3>
            <p>{content:content drophtml=1 dropblank=1 len=100}</p>
            <a href="{content:link}">查看详情</a>
            
            <!-- 生成产品详情页的二维码 -->
            {pboot:qrcode string={pboot:httpurl}{content:link}}
                <img src="[qrcode:image]" alt="产品二维码">
            {/pboot:qrcode}
        </li>
    {/pboot:loop}
</ul>

3. 产品详情页

假设你需要在产品详情页中展示当前页面地址,可以使用 pageurl 标签:

<!-- 产品详情页 -->
<div>
    <h1>{content:title}</h1>
    <p>{content:content drophtml=1 dropblank=1}</p>
    
    <!-- 生成当前页面的二维码 -->
    {pboot:qrcode string={pboot:pageurl}}
        <img src="[qrcode:image]" alt="当前页面二维码">
    {/pboot:qrcode}
</div>

注意事项

  1. 备份文件

    • 在修改任何文件之前,请确保先备份原始文件。
  2. 测试效果

    • 修改后,在前台页面测试是否已实现预期的功能。
  3. 其他配置

    • 确保其他配置项没有冲突或影响。

通过以上步骤和示例代码,你可以实现获取当前站点网址、当前页面地址和站点根网址的功能,并根据不同的需求展示相应的内容。希望这些说明能帮助你顺利完成设置。

在 PBootCMS 中,qrcode 标签用于生成对应文本的二维码图片。这对于产品列表页或详情页为每个产品生成二维码非常有用。以下是详细的使用说明和示例代码。

1. qrcode 标签的基本用法

参数说明

  • string=*:指定生成二维码的文本内容。

2. 示例代码

生成产品详情页的二维码

假设你需要为每个产品生成一个二维码,可以使用 qrcode 标签结合其他标签来实现。

示例代码

<!-- 生成产品详情页的二维码 -->
{pboot:qrcode string={pboot:httpurl}{content:link}}
    <img src="[qrcode:image]" alt="产品二维码">
{/pboot:qrcode}

3. 具体示例

产品列表页

假设你在产品列表页中需要为每个产品生成二维码,可以使用以下代码:

<!-- 产品列表页 -->
<ul>
    {pboot:loop list=$product_list}
        <li>
            <h3>{content:title}</h3>
            <p>{content:content drophtml=1 dropblank=1 len=100}</p>
            <a href="{content:link}">查看详情</a>
            
            <!-- 生成产品详情页的二维码 -->
            {pboot:qrcode string={pboot:httpurl}{content:link}}
                <img src="[qrcode:image]" alt="产品二维码">
            {/pboot:qrcode}
        </li>
    {/pboot:loop}
</ul>

产品详情页

假设你在产品详情页中需要生成二维码,可以使用以下代码:

<!-- 产品详情页 -->
<div>
    <h1>{content:title}</h1>
    <p>{content:content drophtml=1 dropblank=1}</p>
    
    <!-- 生成产品详情页的二维码 -->
    {pboot:qrcode string={pboot:httpurl}{content:link}}
        <img src="[qrcode:image]" alt="产品二维码">
    {/pboot:qrcode}
</div>

4. 使用 pageurl 参数

如果你需要生成当前页面的二维码,可以使用 pageurl 参数:

<!-- 生成当前页面的二维码 -->
{pboot:qrcode string={pboot:pageurl}}
    <img src="[qrcode:image]" alt="当前页面二维码">
{/pboot:qrcode}

5. 注意事项

  1. 备份文件

    • 在修改任何文件之前,请确保先备份原始文件。
  2. 测试效果

    • 修改后,在前台页面测试是否已实现预期的功能。
  3. 其他配置

    • 确保其他配置项没有冲突或影响。

通过以上步骤和示例代码,你可以实现为每个产品生成二维码的功能,并根据不同的需求展示相应的二维码。希望这些说明能帮助你顺利完成设置。

在 PBootCMS 中,调用专题频道内容(如公司简介、联系我们等)可以通过 content 标签来实现。以下是具体的使用方法和示例代码:

1. content 标签的基本用法

参数说明

  • id:文章内容或专题内容对应的 ID。
  • scode:栏目管理中该栏目的 ID。

示例代码

html
 
{pboot:content id=1}
[content:content drophtml=1 dropblank=1 len=300]
<a href="[content:link]">查看更多</a>
{/pboot:content}

2. 调用具体内容

示例代码

假设你需要调用公司简介的内容,可以使用 id 或 scode 参数来指定内容。

使用 id 参数

html
 
{pboot:content id=1}
<h2>[content:title]</h2>
<p>[content:content drophtml=1 dropblank=1 len=300]</p>
<a href="[content:link]">查看更多</a>
{/pboot:content}

使用 scode 参数

html
 
{pboot:content scode=aboutus}
<h2>[content:title]</h2>
<p>[content:content drophtml=1 dropblank=1 len=300]</p>
<a href="[content:link]">查看更多</a>
{/pboot:content}

3. 参数详解

常用参数

  • drophtml=1:去除 HTML 标签,只保留纯文本。
  • dropblank=1:去除空白字符。
  • len=300:截取内容长度为 300 个字符。

在 PBootCMS 中,你可以通过一系列会员相关的标签来实现会员管理功能。以下是对这些标签的具体说明和使用方法:

1. 基本标签

标签说明

  • {pboot:ucenter}:个人中心地址
  • {pboot:login}:登录地址
  • {pboot:register}:注册地址
  • {pboot:umodify}:资料修改地址
  • {pboot:logout}:退出登录地址
  • {pboot:upload}:文件上传 AJAX 接口
  • {pboot:islogin}:是否登录状态
  • {pboot:mustlogin}:设置页面必须登录
  • {pboot:sendemail}:发送邮件验证码接口,参数 to
  • {pboot:registercodestatus}:会员注册验证码状态(0、1、2)
  • {pboot:logincodestatus}:会员登录验证码状态
  • {pboot:registerstatus}:是否开启注册
  • {pboot:loginstatus}:是否开启登录
  • {pboot:commentstatus}:是否开启评论

2. 标签权限控制参数

参数说明

  • showgcode=*:指定等级显示,支持多个逗号隔开
  • showucode=*:指定用户显示,支持多个逗号隔开
  • hidegcode=*:指定等级隐藏,支持多个逗号隔开
  • hideucode=*:指定用户隐藏,支持多个逗号隔开
  • showgcodelt=*:等级小于显示
  • showgcodegt=*:等级大于显示
  • showgcodele=*:等级小于等于显示
  • showgcodege=*:等级大于等于显示
  • hidegcodelt=*:等级小于隐藏
  • hidegcodegt=*:等级大于隐藏
  • hidegcodele=*:等级小于等于隐藏
  • hidegcodege=*:等级大于等于隐藏
  • showlogin=1:登录后显示
  • hidelogin=1:登录后隐藏

示例代码

html
 
{content:content showlogin=1} <!-- 内容登录后可见 -->

3. 会员资料标签

标签说明

  • {user:ucode}:会员编码
  • {user:username}:会员用户名
  • {user:useremail}:会员邮箱
  • {user:usermobile}:会员手机
  • {user:gcode}:等级编码
  • {user:gname}:等级名称
  • {user:registertime}:注册时间
  • {user:logincount}:登录次数
  • {user:lastloginip}:最后登录 IP
  • {user:lastlogintime}:最后登录时间
  • {user:headpic}:头像 URL
  • {user:*}**:自定义会员字段(例如 {user:sex}

4. 会员相关表单字段

字段说明

  • username:用户名
  • password:密码
  • checkcode:验证码
  • nickname:昵称
  • rpassword:重复密码

在 PBootCMS 中,你可以通过自定义表单和标签来实现留言功能。以下是详细的步骤和示例代码,帮助你在全站任意地方使用留言表单和留言记录列表。

1. 留言提交表单

示例代码

<form action="{pboot:msgaction}" method="post">
    联系人:<input type="text" name="contacts" required>
    手机:<input type="text" name="mobile" required>
    内容:<textarea name="content" required></textarea>
    验证码:<input type="text" name="checkcode" required> <img title="点击刷新" src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?'+Math.round(Math.random()*10);" />
    <button type="submit">提交</button>
</form>

 

为了实现类似于“刚刚;1小时前;昨天 几点几分;前天 几点几分;年月日 几点几分”的个性化日期效果,你需要按照以下步骤进行操作:

  1. 找到 ExtLabelController.php 文件
  2. 添加新的方法 transtime
  3. 在 run 方法中调用 transtime 方法
  4. 在模板页面中使用该标签

具体步骤

1. 找到 ExtLabelController.php 文件

  1. 打开 ExtLabelController.php 文件
    • 路径:\apps\home\controller\ExtLabelController.php

2. 添加新的方法 transtime

  1. 找到 private function test() 方法

    • 在 test 方法下面添加新的方法 transtime

    示例代码:

    // 转换日期
    private function transtime()
    {
        $pattern = '/\{transtime\s?\(([^\}]+)\)\}/';
        if (preg_match($pattern, $this->content, $matches)) {
            $this->content = preg_replace_callback(
                $pattern,
                function ($matches) {
                    $time = strtotime($matches[1]);
                    $otime = date("Y-m-d H:i", $time);
                    $rtime = date("m-d H:i", $time);
                    $htime = date("H:i", $time);
                    $time_diff = time() - $time;
                    if ($time_diff < 60) {
                        $str = '刚刚';
                    } elseif ($time_diff < 60 * 60) {
                        $min = floor($time_diff / 60);
                        $str = $min . '分钟前';
                    } elseif ($time_diff < 60 * 60 * 24) {
                        $h = floor($time_diff / (60 * 60));
                        $str = $h . '小时前 ' . $htime;
                    } elseif ($time_diff < 60 * 60 * 24 * 3) {
                        $d = floor($time_diff / (60 * 60 * 24));
                        if ($d == 1) {
                            $str = '昨天 ' . $rtime;
                        } else {
                            $str = '前天 ' . $rtime;
                        }
                    } else {
                        $str = $otime;
                    }
                    return $str;
                },
                $this->content
            );
        }
    }

3. 在 run 方法中调用 transtime 方法

  1. 找到 public function run($content) 方法

    • 在 run 方法中调用 transtime 方法。

    示例代码:

    /* 必备启动函数 */
    public function run($content)
    {
        // 接收数据
        $this->content = $content;
    
        // 执行个人自定义标签函数
        $this->test();
    
        // 转换日期
        $this->transtime();
    
        // 返回数据
        return $this->content;
    }

4. 在模板页面中使用该标签

  1. 在文章内容里添加

    html
     
    {transtime({content:date})}
  2. 在文章列表里添加

    html
     
    {pboot:list}
    {transtime([list:date])}
    {/pboot:list}

示例代码

ExtLabelController.php

// 转换日期
private function transtime()
{
    $pattern = '/\{transtime\s?\(([^\}]+)\)\}/';
    if (preg_match($pattern, $this->content, $matches)) {
        $this->content = preg_replace_callback(
            $pattern,
            function ($matches) {
                $time = strtotime($matches[1]);
                $otime = date("Y-m-d H:i", $time);
                $rtime = date("m-d H:i", $time);
                $htime = date("H:i", $time);
                $time_diff = time() - $time;
                if ($time_diff < 60) {
                    $str = '刚刚';
                } elseif ($time_diff < 60 * 60) {
                    $min = floor($time_diff / 60);
                    $str = $min . '分钟前';
                } elseif ($time_diff < 60 * 60 * 24) {
                    $h = floor($time_diff / (60 * 60));
                    $str = $h . '小时前 ' . $htime;
                } elseif ($time_diff < 60 * 60 * 24 * 3) {
                    $d = floor($time_diff / (60 * 60 * 24));
                    if ($d == 1) {
                        $str = '昨天 ' . $rtime;
                    } else {
                        $str = '前天 ' . $rtime;
                    }
                } else {
                    $str = $otime;
                }
                return $str;
            },
            $this->content
        );
    }
}

/* 必备启动函数 */
public function run($content)
{
    // 接收数据
    $this->content = $content;

    // 执行个人自定义标签函数
    $this->test();

    // 转换日期
    $this->transtime();

    // 返回数据
    return $this->content;
}

模板页面

文章内容里添加

html
 
{transtime({content:date})}

文章列表里添加

html
 
{pboot:list}
{transtime([list:date])}
{/pboot:list}

注意事项

  1. 备份文件

    • 在修改任何文件之前,请确保先备份原始文件。
  2. 测试效果

    • 修改后,在前台页面测试是否已实现预期的日期显示效果。
  3. 其他配置

    • 确保其他配置项没有冲突或影响。

总结

通过以上步骤,你可以实现类似于“刚刚;1小时前;昨天 几点几分;前天 几点几分;年月日 几点几分”的个性化日期效果。这样可以提高用户体验,使日期显示更加人性化。希望这些步骤能帮助你顺利完成设置。

如果你在使用PBootCMS时遇到上传图片后缩略图被自动截取且尺寸变小的问题,可以通过调整配置文件中的缩略图尺寸来解决。具体步骤如下:

步骤

  1. 找到配置文件

    • 打开 \config\config.php 文件。
  2. 修改缩略图配置

    • 找到缩略图配置部分,并调整 max_width 和 max_height 的值。

具体操作

1. 找到配置文件

  1. 打开 config.php 文件
    • 路径:\config\config.php

2. 修改缩略图配置

  1. 找到缩略图配置部分

    • 在 config.php 文件中找到以下配置:
      php
       
      // 缩略图配置
      'ico' => array(
      'max_width' => '2000',
      'max_height' => '1000'
      ),
  2. 调整 max_width 和 max_height 的值

    • 根据需求调整这两个值。例如,将它们设置得更大一些,或者将 max_height 设置为空以取消高度限制。

    示例代码:

    // 缩略图配置
    'ico' => array(
        'max_width' => '3000',  // 最大宽度
        'max_height' => ''      // 不限制高度
    ),

     

  1. 要在PBootCMS中设置后台发布内容后不自动提取缩略图,可以通过注释或删除相关代码实现。以下是详细的步骤和代码示例。

    步骤

    1. 找到相关文件

      • 找到 \apps\admin\controller\content\ContentController.php 文件。
      • 找到 \apps\admin\controller\content\SingleController.php 文件。
    2. 注释或删除相关代码

      • 在 ContentController.php 中找到第 135 行和第 457 行的代码。
      • 在 SingleController.php 中找到第 191 行的代码。
      • 注释或删除这些代码。

在使用PBootCMS时,如果系统提示“未检测到您服务器环境的sqlite3数据库扩展”,这意味着服务器上缺少必要的SQLite3扩展。SQLite3是一种轻量级的嵌入式数据库引擎,广泛用于Web应用开发。为了解决这个问题,你需要确保服务器上已安装并启用了SQLite3扩展。

解决方法

  1. 检查PHP环境

    • 确认服务器上已经安装了SQLite3扩展。
  2. 安装SQLite3扩展

    • 如果未安装,则需要安装SQLite3扩展。
  3. 启用SQLite3扩展

    • 确保PHP配置文件(php.ini)中启用了SQLite3扩展。

操作步骤

1. 检查PHP环境

  1. 生成phpinfo()页面

    • 创建一个名为info.php的文件,内容如下:
      php
       
      <?php
      phpinfo();
      ?>
    • 将此文件上传到服务器的根目录。
    • 访问该页面(例如:http://yourdomain.com/info.php),查找“sqlite3”关键字,确认是否已安装并启用SQLite3扩展。
  2. 检查命令行

    • 在命令行中运行:
      sh
       
      php -m | grep sqlite3
    • 如果输出sqlite3,则表示已安装并启用SQLite3扩展;如果没有输出,则需要安装。

2. 安装SQLite3扩展

  1. Ubuntu/Debian系统

    • 运行以下命令安装SQLite3扩展:
      sh
       
      sudo apt-get update
      sudo apt-get install php7.4-sqlite3 # 根据实际PHP版本调整
  2. CentOS/RHEL系统

    • 运行以下命令安装SQLite3扩展:
      sh
       
      sudo yum install php7.4-sqlite3 # 根据实际PHP版本调整
  3. 其他系统

    • 参考相应的包管理器文档,安装SQLite3扩展。

3. 启用SQLite3扩展

  1. 编辑php.ini文件

    • 找到PHP配置文件php.ini,通常位于/etc/php/7.4/fpm/php.ini(根据实际PHP版本调整)。
    • 使用文本编辑器打开php.ini文件,找到以下行:
      ini
       
      ;extension=sqlite3
    • 去掉前面的分号(;),使其生效:
      ini
       
      extension=sqlite3
  2. 重启PHP服务

    • 重启PHP-FPM服务,使配置生效:
      sh
       
      sudo systemctl restart php7.4-fpm # 根据实际PHP版本调整

测试效果

  1. 重新生成phpinfo()页面

    • 访问http://yourdomain.com/info.php,再次检查是否已启用SQLite3扩展。
  2. 测试PBootCMS

    • 访问PBootCMS后台,确认是否已检测到SQLite3扩展。

示例代码

生成phpinfo()页面

php
 
<?php
phpinfo();
?>

检查命令行

sh
 
php -m | grep sqlite3

安装SQLite3扩展

sh
 
# Ubuntu/Debian
sudo apt-get update
sudo apt-get install php7.4-sqlite3

# CentOS/RHEL
sudo yum install php7.4-sqlite3

启用SQLite3扩展

ini
 
# 找到并去掉注释
;extension=sqlite3
# 修改为
extension=sqlite3

注意事项

  • 备份文件:在修改任何配置文件之前,请确保先备份原始文件。
  • 测试效果:修改后,在前端页面测试是否已解决问题。
  • 兼容性:确保在不同环境下测试效果,确保一切正常。

总结

通过上述步骤,你可以确保服务器上已安装并启用了SQLite3扩展,从而解决PBootCMS未检测到SQLite3扩展的问题。这样可以确保PBootCMS正常运行,避免因缺少扩展而导致的问题。

在使用PBootCMS建站时,时间标签是非常常用的功能之一。下面整理了详细的调用方法,帮助大家更好地理解和使用这些标签。

首页/列表页时间标签

  1. 默认格式

    • 标签:[list:date]
    • 效果:2021-12-06 09:12:30
  2. 年月日格式(Y-m-d)

    • 标签:[list:date style=Y-m-d]
    • 效果:2021-12-06
  3. 年格式(Y)

    • 标签:[list:date style=Y]
    • 效果:2021
  4. 月日格式(m-d)

    • 标签:[list:date style=m-d]
    • 效果:12-06
  5. 简短年月日格式(y-m-d)

    • 标签:[list:date style=y-m-d]
    • 效果:21-12-06

内容页时间标签

  1. 默认格式

    • 标签:{content:date}
    • 效果:2021-12-06 09:12:30
  2. 年月日格式(Y-m-d)

    • 标签:{content:date style=Y-m-d}
    • 效果:2021-12-06
  3. 月日格式(m-d)

    • 标签:{content:date style=m-d}
    • 效果:12-06
Page 871 of 1049:« First« 868 869 870 871 872 873 874 »Last »
bottom-img