影视在线网-日本aa网站-伊人一二三区-国产帅男男gay在线观看|www.nianchuai.com

加截中...

PbootCMS 后臺添加閱讀量和點贊量自定義修改功能

一、功能背景與效果說明

PbootCMS 后臺默認的內容列表中,閱讀量(visits)和點贊量(likes)僅能展示,無法直接修改。本教程通過代碼改造,實現以下功能:


  • 在后臺內容列表中顯示可編輯的閱讀量和點贊量輸入框

  • 支持批量修改多篇文章的閱讀量和點贊量

  • 點擊 "保存閱讀點贊量" 按鈕即可提交修改,操作流程與 "保存排序" 一致

二、操作前準備

  1. 文件備份

    • apps/admin/controller/content/ContentController.php

    • apps/admin/model/content/ContentModel.php

    • apps/admin/view/default/content/content.html

    • 備份以下 3 個文件(防止操作失誤導致功能異常):

  2. 工具準備

    • 代碼編輯器(推薦 Notepad++、VS Code,支持代碼高亮和搜索)

    • FTP 工具或服務器文件管理權限(用于上傳修改后的文件)

    • 基礎 PHP 和 HTML 知識(能理解代碼邏輯即可)

三、詳細操作步驟

步驟 1:修改控制器文件(處理提交數據)

文件路徑apps/admin/controller/content/ContentController.php


  1. 打開文件后,按Ctrl+F搜索以下代碼片段(定位文章修改邏輯):

// 文章修改
public function mod()
{
    if (!! $submit = post('submit')) {
        switch ($submit) {

2. switch ($submit) {下方添加以下代碼(處理閱讀量和點贊量修改的核心邏輯):

case 'pbootnet': // 修改文章訪問量和點贊量
    $listall = post('listall'); // 獲取選中的文章ID數組
    if ($listall) {
        // 處理閱讀量
        $visits = post('visits'); // 獲取提交的閱讀量數組
        foreach ($listall as $key => $value) {
            // 驗證輸入:為空或非數字則保持原數據(原教程此處有誤,修正為合理邏輯)
            if ($visits[$key] === '' || !is_numeric($visits[$key])) {
                // 從數據庫獲取原數據(避免覆蓋為空)
                $original = $this->model->getContent($value);
                $visits[$key] = $original->visits;
            }
            // 更新數據庫
            $this->model->modContent($value, "visits=" . $visits[$key]);
        }
        
        // 處理點贊量(邏輯與閱讀量一致)
        $likes = post('likes'); // 獲取提交的點贊量數組
        foreach ($listall as $key => $value) {
            if ($likes[$key] === '' || !is_numeric($likes[$key])) {
                $original = $this->model->getContent($value);
                $likes[$key] = $original->likes;
            }
            $this->model->modContent($value, "likes=" . $likes[$key]);
        }
        
        $this->log('修改內容訪問量和點贊量成功!'); // 記錄操作日志
        success('修改成功!', -1); // 提示成功并刷新頁面
    } else {
        alert_back('修改失敗,未選擇任何內容!'); // 未選擇文章時提示
    }
    break;

  1. 代碼說明

    • case 'pbootnet':與后續 HTML 中的按鈕value="pbootnet"對應,用于識別提交類型

    • post('listall'):獲取勾選的文章 ID(確保只修改選中的文章)

    • 驗證邏輯優化:原教程中$visits[$key] = visits;是錯誤的(未定義變量),此處修正為讀取數據庫原數據

    • 循環更新:通過modContent方法逐篇更新文章的visitslikes字段

  2. 保存文件(暫時不上傳,待全部修改完成后統一上傳)。

步驟 2:修改模型文件(添加字段查詢)

文件路徑apps/admin/model/content/ContentModel.php

  1. 打開文件后,搜索$field = array((定位查詢字段配置),找到類似以下的數組:

$field = array(
    'a.id',
    'b.name as sortname',
    'a.scode',
    'c.name as subsortname',
    'a.subscode',
    'a.title',
    'a.subtitle',
    'a.date',
    'a.sorting',
    'a.status',
    'a.istop',
    'a.isrecommend',
    'a.isheadline',
    'a.visits',
    // 此處需要添加點贊量字段
    'a.ico',
    'a.pics',
    'a.filename',
    'a.outlink',
    'd.urlname',
    'b.filename as sortfilename'
);

2. 'a.visits',下方添加'a.likes',,添加后如下:

'a.visits',
'a.likes', // 新增點贊量字段
'a.ico',

作用:讓后臺列表查詢時包含likes(點贊量)字段,否則頁面無法顯示點贊量數據。

3. 保存文件。

步驟 3:修改視圖文件(顯示輸入框和按鈕)

文件路徑apps/admin/view/default/content/content.html(后臺內容列表頁面模板)

子步驟 3.1:添加 "點贊量" 表頭

  1. 搜索<th>訪問量</th>,在其下方添加點贊量表頭:

<th>訪問量</th>
<th>點贊量</th> <!-- 新增點贊量表頭 -->

子步驟 3.2:將顯示改為可編輯輸入框

  1. 搜索原閱讀量顯示代碼(通常為<td>{$value->visits}</td>),將其替換為輸入框:

<!-- 原代碼:<td>{$value->visits}</td> -->
<td class="table-input">
    <input type="text" lay-ignore class="layui-input" 
           name="visits[]" value="{$value->visits}">
</td>

2. 在閱讀量輸入框下方添加點贊量輸入框:

<td class="table-input">
    <input type="text" lay-ignore class="layui-input" 
           name="likes[]" value="{$value->likes}">
</td>

 屬性說明

    • name="visits[]"name="likes[]":數組形式提交,與文章 ID 數組listall對應

    • value="{$value->visits}":默認顯示當前閱讀量 / 點贊量

    • lay-ignore:忽略 Layui 的表單渲染(避免樣式沖突)

    • class="table-input":保持與 "排序" 輸入框一致的樣式

子步驟 3.3:添加 "保存閱讀點贊量" 按鈕

  1. 搜索 "保存排序" 按鈕代碼:

<button type="submit" name="submit" value="sorting" class="layui-btn layui-btn-sm">保存排序</button>

2. 在其后方添加新按鈕:

<button type="submit" name="submit" value="pbootnet" class="layui-btn layui-btn-sm">保存閱讀點贊量</button>

關鍵value="pbootnet"需與步驟 1 中case 'pbootnet'完全一致,否則無法觸發修改邏輯。

四、文件上傳與驗證

  1. 上傳文件:將修改后的 3 個文件通過 FTP 上傳到服務器對應路徑,覆蓋原文件(若使用本地環境則直接替換)。

  2. 權限檢查:確保文件權限正確(通常為 644,避免因權限不足導致頁面空白)。

  3. 功能驗證

    • 登錄 PbootCMS 后臺,進入任意內容列表(如 "文章管理")

    • 確認列表中已顯示 "點贊量" 列,且訪問量、點贊量顯示為輸入框

    • 修改數值后勾選文章,點擊 "保存閱讀點贊量" 按鈕

    • 提示 "修改成功" 后刷新頁面,確認數值已更新

  4. 錯誤排查

    • 若頁面空白:檢查 PHP 代碼是否有語法錯誤(如括號不匹配、分號缺失)

    • 數值不更新:打開瀏覽器控制臺(F12),查看網絡請求是否有錯誤,或檢查listall是否正確獲取選中的 ID

    • 無點贊量數據:確認ContentModel.php中已添加'a.likes',且數據庫表中存在likes字段

效果圖:

image.png






在線客服
服務熱線

服務熱線

13648088499

微信咨詢
二維碼
返回頂部