首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHPCMS V9 評論樣式自訂兩種修改方法詳解

     編輯:PHP 綜合知識

前言

PHPCMS V9 內建評論模組功能完整,但預設樣式較簡陋。本文提供兩種客製化評論顯示樣式的方法:一、使用 {pc:get} 標籤自行查詢資料表循環輸出(彈性最高);二、直接修改模板檔 comment/show_list.html(最快速)。

方法一:使用 {pc:get} 自訂查詢與輸出

適用情境:需要完全不同的 HTML 結構、整合 Bootstrap、加入頭像、自訂分頁等。

1. 組合 commentid

{php $commentid = 'content_'.$catid.'-'.$id.'-'.$modelid;}

2. 查詢評論資料

{pc:get sql="SELECT * FROM v9_comment_data_1 WHERE commentid = '$commentid'" cache="0" return="data"}
注意:資料表名稱 v9_comment_data_1 中的 1 為站點 ID,多站點請動態調整。

3. 循環輸出自訂結構

{loop $data $key $val}
  • ...
    {$val[username]}
    {$val[content]}
  • {/loop} {/pc}

    方法二:直接修改預設模板 comment/show_list.html

    適用情境:僅需調整 CSS、微調 HTML 結構、保留原有分頁、最新/最熱切換功能。

    1. 定位檔案

    phpcms/templates/default/comment/show_list.html

    2. 核心模板代碼(節錄關鍵區塊)

    {pc:comment action="lists" commentid="$commentid" siteid="$siteid" page="$_GET['page']" hot="$hot" num="20"}
    {if !empty($data)}
    
    
    {loop $data $r}
    {direction($r[direction])} {format::date($r[creat_at], 1)} {if $r[userid]}{get_nickname($r[userid])}{else}{$r[username]}{/if}
    {$r[content]}
    回覆 支持 ({$r[support]})
    {/loop}
    {$pages}
    {/if} {/pc}

    3. 修改重點

    • 將 <font>、align 等舊式屬性改為 CSS 類別。
    • 引入 Bootstrap .media、.list-group 等結構。
    • 頭像可使用 {get_member_avatar($r[userid])} 或 Gravatar。
    • 時間格式統一使用 {date('Y-m-d H:i', $r[creat_at])}。
    • 分頁變數 {$pages} 保留即可。

    三、進階客製化建議

    1. 巢狀回覆:預設僅支援單層,需自行擴充資料表 pid 欄位並修改遞迴輸出邏輯。
    2. AJAX 無刷新分頁/提交:攔截表單提交與分頁連結,以 $.post() 取得 HTML 片段替換容器。
    3. 表情符號/圖片上傳:整合 contenteditable 編輯器或 textarea + 表情選擇器,內容儲存時過濾 XSS。
    4. 評論審核狀態顯示:依 $r[status] 區分已審/待審,前端顯示不同標籤。

    四、快速比較表

    維度方法一 {pc:get}方法二 修改模板
    彈性極高(任意 SQL、任意 HTML)中(受限於 comment 標籤輸出變數)
    維護性需懂 SQL 與模板語法僅改 HTML/CSS,升級較不易衝突
    功能完整度需自行實作分頁、最新/最熱切換保留原生所有互動功能
    適用場景深度客製、異質系統整合樣式微調、快速上線

    五、結語

    依專案需求選擇:若只要換裝樣式、保留功能,直接改 show_list.html 最划算;若需重構評論結構、對接前端框架,使用 {pc:get} 完全掌控輸出。兩種方法皆可在不修改核心程式碼下完成客製化,符合 PHPCMS 模板分離設計精神。

    1. 上一篇文章:
    2. 下一篇文章:
    Copyright © 程式碼之家 All Rights Reserved