MacCMS 網站還在用 PHP 7.2,遇到 PHP2Shell 時,不能只在面板按「更新至 7.2 最新版」便結案。PHP 7.2 已於 2020 年 11 月 30 日結束上游支援,最後一版 7.2.34 早於這次漏洞。先確認自己的 7.2 是誰提供的,再決定使用供應商回移補丁,或把 MacCMS 搬到已修補且仍受支援的 PHP 環境。 短期可在正確的 PHP 設定中關閉 session.upload_progress.enabled,減少部分攻擊路徑;這不是完整修復。若沒有可核實的修補,應先限制站點的外部存取,利用維護窗口完成副本測試,不要把「舊模板只能用 7.2」當成可以一直公開運行的理由。 先分清:Ubuntu 的 PHP 7.2,還是寶塔的 PHP 7.2? 登入 SSH 後先盤點,不要先改設定: cat /etc/os-release command -v php php -v ps -eo pid,ppid,args | grep '[p]hp-fpm' systemctl list-units --type=service --all | grep -E 'php.*fpm' 如果系統有 APT,再查是否真的安裝了發行版的 7.2 套件: dpkg-query -W php7.2-common php7.2-fpm apt-cache policy php7.2-common php7.2-fpm 找不到這些套件,不等於網站沒有 PHP。寶塔或其他面板可能維護自己的安裝目錄,網站也可能在容器內。請把 MacCMS 網域的 FastCGI socket/連接埠,對到實際 FPM master 與...
2026-10-21 63 0
文尼先生 2026-10-21

把海報外鏈的 http:// 換成 https://,圖片仍然空白,先別再反覆換網址。HTTPS 只處理傳輸連線;那個主機是否提供同一路徑、最後回應是不是圖片,以及瀏覽器有沒有允許這個請求,都要另外核對。 先看瀏覽器最後向哪個地址要圖 在電腦 Chrome 開啟出問題的頁面,按 F12,切到 Network/網路,選 Img 後重新整理。把海報捲進畫面,找到對應請求,再查看完整 Request URL、狀態碼及重新導向。原始圖片標籤寫 HTTP,不代表最後發出的請求仍是 HTTP。 MDN 的混合內容說明指出,HTTPS 頁面引用不安全的 HTTP 資源會產生混合內容問題。某些圖片請求會被瀏覽器自動升級到 HTTPS,其他情況則可能被阻擋。應以 Console/主控台的升級或阻擋訊息,以及 Network 的實際請求判斷,不只看你手動改過的字串。 例如頁面中的 img src 指向 http://images.example/poster.svg,瀏覽器可能改用 https://images.example/poster.svg。這只是地址示例;自動升級不會替圖片主機部署 HTTPS,也不會替它建立缺少的檔案。 普通圖片與候選圖不要混在一起看 別假設所有圖片都採用同一種升級方式。MDN 把一般 img src 與 srcset、picture 等情況分開說明;地址使用 IP 而非域名時,也有不同的阻擋條件。找到錯誤訊息後,回查是哪一個實際標籤發出請求。 MacCMS 模板可能先顯示占位圖,再由懶載入腳本讀取另一個海報地址。修改了 src,但腳本仍拿舊 HTTP 海報時,正式載入後還是可能失敗。相反,先看到一張可讀的占位圖,也不能證明影片海報已載入。用實際請求對照該筆影片,比在整頁搜尋一個 HTTP 字串更可靠。 有候選圖的頁面,要看當下選中的 currentSrc 及相應 Network 請求;但不要把這一步變成整站改圖片尺寸。這裡要找的是是否引用不安全地址,以及最後請求能否提供圖片,不是比較哪張圖容量較小。 網址已是 HTTPS,先確認連線能成立 若瀏覽器出現憑證或連線錯誤,來源主機需要先提供正確的 HTTPS 服務。證書名稱、有效期及服務設定由資源主機的維護者處理;網站模板加上一個 s,不能修好那端的連線。不要為了讓海報出現,要求訪客略過憑證警告或停用安全檢查。 如果海報來源由你管理,核對 HTTPS 主機、該圖片的完整公開路徑,以及是否有轉回 HTTP 的重新導向。若是第三方來源,先詢問它有沒有可用且獲准使用的 HTTPS 圖片入口;沒有時,換成有權使用、可穩定提供的素材,不把任意外鏈複製到自己主機來繞過權限。 200 回應還要看它裝了什麼 請求成功後,點開 Preview/預覽及 Response/回應。真正的圖片應能被瀏覽器解碼,而不是登入頁、驗證提示、錯誤 HTML 或替代占位圖。看 Response Headers 的 Content-Type,再與內容及預覽互相對照,不能只看網址副檔名。 一個簡單的圖片回應示例中,兩個網址都回...
2026-10-04 59 0
文尼先生 2026-10-04

一部劇有 40 集,選集區如果是一串細小文字,訪客很容易看錯集數。改排版時先保住三件事:順序能掃讀、目前集數有明確標記、鍵盤移動時看得出焦點在哪裡。這些是選集清單的呈現問題,不需要靠更換播放器來解決。 先拿真正的長清單比較 不要只用兩三集測排版。選一筆自己有權使用、集數較多的內容,核對清單是否完整,再觀察它佔用了多少空間。長集名、特輯與第 100 集也可能比「第 1 集」更寬,格子不能只按最短文字設計。 第 53 套 Demo 的演示影片 1979 詳情頁提供第 1 至第 40 集入口,適合觀察長清單。這份 Demo 的入口可以作對照,但你自己的模板仍要以實際資料、選集方式及目前集數標記驗收,不把某一張商品截圖當完成。 MacCMS 的來源組與集數是分開的。調整選集排列時,不改原本每一集的來源序號及目的地址;也別為了每排集數整齊,重新排序或刪掉特輯。先記下原清單的名稱與 href,改完逐項對照。 先讓每個入口有穩定空間 可在選集連結的容器使用 Grid,讓可用寬度決定每排容納幾格。下面只示範你自己的 .episode-list 區塊,不套到全站的連結或按鈕: .episode-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(84px, 1fr)); gap: 10px; } .episode-list a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 6px; border: 1px solid #718097; border-radius: 6px; } 84px、44px 與 10px 是這份排版示例的起點,不是所有模板的合格門檻。實際集名較長時,讓文字換行或加寬格子,再看清單高度。不要只把字縮得很小來保住一排固定集數,也不要把關鍵集名截到全部長得一樣。 在下面的 40 集排版示例中,第 12 集是目前項目,鍵盤焦點停在第 14 集。深色底與外框分別表示兩個狀態,訪客能知道自己正在看哪集,以及按 Enter 將前往哪集。 目前集數與鍵盤焦點分開顯示,移動焦點不會改掉目前觀看標記。 目前集數應由目的頁決定 對代表目前頁面的集數連結,可使用 aria-current="page";樣式再依這個狀態處理。這個屬性是告知目前項目,不會自己判斷影片、來源或集數。仍需要模板依實際播放頁參數設定,不能固定把第 1 集標成目前集。...
2026-10-04 55 0
文尼先生 2026-10-04

分類列表看得到影片,選了年份或地區卻變成零筆,先別重新匯入片庫。要核對的是三份值:影片實際保存的欄位、選單送出的條件,以及結果頁保留的條件。同一個地區看起來意思相同,送出文字不一致時,查詢未必會替你自動換成同義詞。 先挑一筆已知能出現的影片 在自己有權管理的片庫中,選一筆已啟用、可公開看到的影片,記下影片 ID、所屬分類、年份與地區。先打開不帶額外篩選的列表,確認結果區確實有這一筆;頁首的熱門或推薦海報不能代替結果區。 影片欄位中,type_id 是分類 ID,vod_year 是年份文字,vod_area 是地區文字。片名裡含有「2026」不等於年份欄位已保存 2026;簡介寫「香港故事」,也不等於地區欄位是香港。先到該筆內容的編輯頁查看欄位,避免拿畫面上的其他文字當查詢依據。 MacCMS Club 的影片篩選頁文件說明,標準模板位置是 html/vod/show.html,獨立模板設定可能另選檔案。篩選頁的當前分類物件與一筆影片不是同一物件;要看影片欄位,應在影片列表迴圈核對當前項目,不能把分類欄位誤當影片年份。 一次只加一個條件 保持分類不變,先選年份,回到無年份條件,再單獨選地區。每次記下網址、被選中的選項,以及那筆已知影片是否仍在結果區。若單獨年份可找到、單獨地區也可找到,兩者一起卻沒有,才核對這筆影片是否真的同時符合兩個值。 篩選條件通常會縮小可見範圍,不是在不同條件之間輪流挑一個成立。你要找的影片是 2025 年台灣作品,卻選了 2026 年香港時,沒有結果可能是合理的。先驗證一組你確定應命中的條件,再判斷介面或查詢是否有問題。 從第 2 頁開始篩選時,也要看有沒有回到該條件的第一頁。原本片庫很多頁,新條件只剩少量結果,仍停在較後頁就可能看見空列表。核對目前頁碼與結果總數,不要因為這一頁空白就改動影片資料。 選項名稱與送出值要一起看 在電腦瀏覽器開啟開發者工具,選取地區選單,查看 option 的文字與 value;送出後,再看網址或 Network 裡的請求條件。例如畫面顯示「台灣」,value 卻是「台湾」,兩者字形不同,應回查這個網站實際保存及接受哪一種值。 MacCMS Club 的影片標籤文件要求 area 使用後台保存的地區文字,year 使用年份值;class 則是影片的擴展分類文字。這三種條件不可互相替代,也不要把其他模型的欄位名稱直接搬到影片篩選中。 「全部」也需要核對。它應依網站既有實作移除該條件,而不是必然把「全部」兩個字送進地區比對。從空值切到某地區、再切回全部時,觀察條件是否真的清除;若網址仍保留上一個地區,維護者應先查表單組合與條件保留。 用可見資料與選單差異找線索 在一份使用虛構影片資料的片庫示例中,無地區限制的列表卡片可見「2025 · 台灣 · 紀錄」。保持同一分類,地區選「香港」後顯示 8 部作品;選單的「台湾」送出後,則顯示 0 部。這讓我們有理由核對繁簡文字及條件來源,但僅憑卡片文字與空列表,仍不能斷定資料庫內是哪種寫法。 同一份示例的卡片也有 2026 年作品,年份選單卻只列 2021 至 2000。資料能出現在列表,不代表選單已跟著更新;選單可能來自模板、分類設定或其他配置。這時應請維護者查產生選項的位置,而不是先把影片年份改成選單裡已存在的舊年份。 核自己網站時,保留這三欄對照:編輯頁保存值、表單送出值、結果頁採用值。前兩項不同,先修選項或統一資料規則;前兩項相同但結果條件不同,再查網址生成及查詢。若三者一致,才繼續看是否還有分類、資料狀態或存取限制排除了它。 不要把排序當成新增篩選條件 最新、熱門與評分通常改變排列方式,不會替一筆影片補上年份或地區。把排序改為最新後仍找不到影片,不能據此判定年份失效;先保留相同篩選範圍,再比較排序。結果只載入第一頁時,一筆較舊影片也可能不在第一屏,要一併看分頁。 分類範圍則是另一項條件。若「全部」分類與某個子分類的結果不同,核對影片所屬分類及模板的查詢範圍,不把分類顯示名稱裡的數字當實際 ID。相關問題可接著閱讀分類結果與分類 ID 的核對方式。 找到差異後,只修那個入口 先保留原模板、選單設定,以及那筆內容的原始欄位值,在可回復的副本調整一處。若原因是選單值錯誤,就先改該選項;若要統一歷史資料的地區名稱,先列出受影響筆數與引用範圍,別直接全庫替換繁簡字。 修正後,用同一筆影片重走「無條件、單一年份、單一地區、組合條件、返回全部」,並核對網址與畫面選中值一致。再試一組確實沒有匹配資料的條件,確認零結果提示仍正常,不能為了讓畫面有圖就把篩選全部忽略。 提供給維護者的資料包含影片 ID、分類、欄位保存值、完整篩選網址及可重現步驟即可。畫面有結果,還要確認每筆結果符合條件;不要拿推薦區海報或調整後一次有圖,代替整個篩選流程。 參考資料 MacCMS Club:影片篩選頁與頁面約定 MacCMS Club:area、year、class 與影片標籤參數 MacCMS Club:影片分類、年份與地區欄位
2026-10-04 54 0
文尼先生 2026-10-04

MacCMS 換了網站域名,文字和選單都正常,海報卻一排空白。先別重新採集全部影片:網頁的域名、海報存放的主機,以及模板把圖片欄位組成的網址,可能是三個不同位置。先找出瀏覽器實際向哪裡要圖,才知道要修資料、模板還是資源主機。 先拿一張海報追到完整網址 選一筆你有權管理、換域名前能正常顯示的影片,打開它的詳情頁。在電腦 Chrome 按 F12,切到 Network/網路,選 Img 後重新整理;若圖片要捲動才載入,先把海報捲進畫面。找到對應圖片請求,記下完整 Request URL、狀態碼,以及回應是否真的能預覽成圖片。 懶載入模板可能先放一張占位圖,再由腳本讀取另一個圖片屬性。右鍵複製圖片網址能提供線索,但 Network 裡實際發出的請求更適合拿來判斷。不要把灰色占位圖的地址誤認為影片海報,也不要只截空白卡片,漏掉出錯的網址。 例如打開第 53 套的演示影片 963 詳情頁,海報載入的是同一 Demo 主機下的 /static/images/thumbnails/thumbnail_6.webp,不是模板廣告占位圖所在的 /template/wntheme53/asset/images/placeholders/。畫面裡都是圖片,實際用途與目錄卻不同。排查自己的站時,也先找出屬於那筆影片的請求。 分清網站地址、欄位值與圖片主機 把三項並排記下:目前頁面的網址、內容編輯頁保存的圖片值、瀏覽器最後請求的圖片網址。MacCMS 的 vod_pic 是影片圖片欄位,vod_pic_thumb 是縮略圖欄位;實際卡片使用哪個欄位,要看該模板。不能因為其中一個欄位有圖,就判定首頁、詳情及輪播一定都取同一張。 圖片值可以是完整網址,也可能是需要處理的路徑。MacCMS Club 的影片欄位文件要求透過 mac_url_img 處理圖片路徑,別假設每筆資料已是完整 URL。詳情頁的當前影片通常用 $obj,列表迴圈內則用 $vo,先依文件核對上下文。 <img src="{$obj.vod_pic|mac_url_img}" alt="{$obj.vod_name}"> 上面是詳情圖片欄位的基本輸出示例,用來理解取值位置。已購模板可能有懶載入、圖片備援或多尺寸處理,調整前應保留原本完整寫法,不能只用這一行覆蓋整個海報區。 用網址形態縮小換域名後的問題 若欄位裡是 https://old.example/upload/poster.webp,它已指定舊主機。把網站改成新域名,不會自動讓這串完整地址改向新主機。先確認舊地址是否仍可讀,再確認新站有沒有相同檔案及正確公開路徑。這裡的 old.example 只是地址示例,不是需要開啟的網站。 若輸出是 /upload/poster.webp,瀏覽器會使用當前網站主機。原圖只留在舊伺服器,新主機沒有該檔案時,就可能出現 404。先核對檔案搬遷範圍,而不是立即批量改每筆圖片資料。 若圖片指向獨立資源主機,例如 https://images.example/poster.webp,網站換域名後,圖片本來就可能繼續使用它。此時要確認資源主機的 HTTPS、存取限制及實際回應;不必為了所有網址看起來一致,硬把圖片改成網站域名。 以上三種地址的修正位置不同。尤其不應直接把資料庫所有舊域名文字一次替換:同一內容裡可能還有播放、下載、來源及外部連結,圖片搬家並不授權一起改掉它們。 網址對了,再查回應與頁面限制 先按共通點分組,比逐張換圖更容易找到修正位置。若失效圖片都指向舊主機、但模板圖示仍能載入,優先核那個圖片主機;若只有新搬進來的幾筆失效,則比較新舊資料保存的路徑。若首頁和詳情同一影片都缺圖,記下兩頁的圖片請求是否相同;不同時,先分開處理各自的取值。 還可以選一張新主機已存在的圖片,直接打開它的完整地址作對照。對照圖正常、問題圖 404,代表至少這個公開目錄有可讀檔案,下一步查問題檔名與搬遷結果;它不代表整個 upload 目錄全部完整。如果兩張都打不開,也不能只憑前台判定檔案已被刪除,仍需要維護者核檔案與公開路徑。 手動修一筆之前,先保存原圖片值,不只保存畫面截圖。修正後再打開相同內容 ID;如果影片標題已變成另一筆,這次比較就失去基準。檢查列表時也用同一筆,而不是以首頁另一張能載入的海報代替。 404 先對照完整目錄與檔名;403 則查看資源主機是否限制來源或權限。200 時仍打開 Preview 看內容:登入頁、錯誤 HTML 或占位圖都可能有正常回應碼,卻不是要顯示的海報。若請求根本沒有發出,回到圖片標籤與懶載入腳本,確認圖片進入畫面後是否有啟動。 圖片地址能單獨開啟,但放在 HTTPS 頁面裡仍不顯示時,也要看 Console/主控台有沒有混合內容或安全政策訊息。單獨開圖與嵌在頁面內是不同情境;記下瀏覽器實際訊息,再請維護者處理對應限制,不要先停掉整站保護。 先修一筆,再決定是否需要批次處理 在可回復的測試副本中,保留那筆內容原有圖片值及相關模板,選擇一張自己有權使用、已確認可讀的圖片。只調整已找出的那一處,再檢查同一影片在首頁卡片、分類卡片和詳情頁的海報。三處可能有不同圖片欄位、裁切及載入方式,都應等到實際載入後再判斷。 如果詳情恢復、分類仍空白,回查分類實際取用的欄位與請求,別把「其中一頁有圖」當全站修復。若這一筆確認是舊資源主機失效,才盤點使用相同前綴的資料,先列出受影響範圍、備份與回退方法,再由維護者執行有界限的批次修正。 交給維護者的資料可以很短:出錯頁面、影片 ID、原圖片值、最後請求網址、狀態碼與最近搬遷內容。不要夾帶登入 Cookie...
2026-10-04 59 0
文尼先生 2026-10-04

同一部影片有兩個播放來源,不代表訪客一定知道怎麼切換。有的模板按來源名稱只換選集清單,有的會直接跳到另一個播放頁。驗收時,要分別核對「現在展示哪個來源的集數」與「正在播放哪個來源的哪一集」,避免按鈕變色了,實際入口仍指向原來那組。 先把影片、來源與集數分開 MacCMS 播放頁的 id 是影片編號;sid 是來源組序號;nid 是該來源組內的集數序號。來源與集數序號從 1 開始,但它們都不是影片 ID。只改集數,不應意外換成另一部影片;切換來源時,也要確認新來源的集數資料是否真的存在。 例如一部影片有 A、B 兩個來源,每組都有第 1、2、3 集。A 的第 2 集是影片相同、sid=1、nid=2;B 的第 2 集則是 sid=2、nid=2。這只是參數關係的示例,實際路由網址應由網站函數產生,不把這組序號套到所有影片。 站長先在自己有權管理的測試內容中準備兩組來源及各自集數,確認保存後可讀。沒有第二組資料時,不要只在模板增加一個「備用線路」按鈕;空按鈕不會自動建立影片來源或集數。 入口應跟著每個來源的資料走 MacCMS Club 的播放頁文件以 vod_play_list 表示程序整理後的來源列表。列表中的每個來源有自己的集數項目,生成播放連結時傳入該來源的 sid 與該集的 nid。原始 vod_play_url 字串與整理後的列表不是同一份資料,不要用一個固定數字取代整個迴圈。 {maccms:foreach name="obj.vod_play_list" id="source"} <h3>{$source.from}</h3> {maccms:foreach name="source.urls" id="episode"} <a href="{:mac_url_vod_play($obj,['sid'=>$source.sid,'nid'=>$episode.nid])}">{$episode.name}</a> {/maccms:foreach} {/maccms:foreach} 這段只展示來源與集數的連結關係,不包含完整播放器或線路按鈕腳本。移植到現成模板前,保留原本的選單、狀態標記及播放器輸出;不要把範例當作整頁替代品。路由可由網站設定改變,所以依文件使用連結函數,比自行拼一串固定偽靜態地址更容易跟目前設定一致。 切來源按鈕時,先看變的是什麼 在下面的虛構影片示例中,來源按鈕分別叫 DPlayer-H5播放器與 videojs-H5播放器。點第二個來源後,第二個按鈕變成深色,下方顯示該來源的第 1、2、3 集;這一步只換了選集清單,原本播放頁網址仍可保持在第一個來源。只有再點第二組的集數連結,才進入那組的播放頁。 來源選單顯示 videojs 的集數;選單狀態與目前播放頁要分別核對。 這種設計可以先讓訪客挑來源,再選集數。不過頁面若只把來源按鈕變色,沒有說清楚播放區仍在原來源,就容易使人以為已完成切換。驗收時應同時看選單標題、播放區的來源提示,以及實際集數入口,而不是用單一顏色作結論。 在這個示例中,點第二來源的第 2 集後,地址中的影片 ID 保持 1,來源變成 sid/2、集數為 nid/2,頁面標題也顯示第 2 集。這個對照能確認入口映射;要判斷媒體是否正常,仍要在有權使用的內容上另看畫面、時間進度、聲音與播放控制。 兩個來源的集數未必一樣多 檢查時可寫三行對照:第一來源第 1 集、第一來源第 2 集、第二來源第 2 集。前兩行應保持影片及來源一致、只改集數;第二與第三行則保持影片一致,來源不同。用這種相鄰差異比較,更容易發現模板把全部來源寫成同一個 sid,或把來源序號當成集數。 有些模板會把未選中的清單隱藏在頁面裡。查看原始碼時,可能同時找到兩組同名「第 2 集」;驗收要操作畫面上當下顯示的那組,而不是挑到隱藏清單的連結就判定有通。切到新來源後也要確認舊清單確實收起,避免訪客看到兩組混排卻分不清歸屬。 不能預設每組都有相同的第...
2026-10-04 74 0
文尼先生 2026-10-04

模板更新後,首頁標題已換,按鈕顏色和字體卻完全沒變。這時先追瀏覽器實際載入的 CSS:HTML 用了哪個樣式網址、那個網址回來什麼內容、目標元素最後採用了哪條規則。先回答這三件事,再決定是否處理快取。 從出問題的那一頁找 CSS 網址 打開需要調整的頁面,在電腦 Chrome 按 F12,切到 Network/網路,再重新整理。選 CSS 篩選,點開樣式檔,看完整 Request URL。把主機、目錄、檔名與問號後的參數一起記下,不要只抄 style.css。 例如第 53 套 Demo 的詳情頁會載入 /template/wntheme53/asset/css/style.css?v=1.0.6,同時也載入 /static/css/home.css?v=1.0.6。頁面有不只一份樣式;你改了下載包中的同名檔案,並不能證明那就是瀏覽器正在使用的檔案。 MacCMS Club 的模板文件指出,CSS、JS 與圖片可放在主題自己的資源目錄,透過 $maccms.path_tpl 引用。先核對網站目前啟用的模板,再把實際請求與那套模板的目錄對照。分類或詳情的獨立模板可能引用其他公共片段,別只在首頁查一次就套到所有頁面。 打開回應,找你改過的那條規則 在 CSS 請求的 Response/回應搜尋你修改的 selector,或一個容易辨認的新值。例如你把某個按鈕背景改成 #164bd7,就查那個 selector 與色碼是否同時存在。壓縮 CSS 可以使用格式化按鈕,方便讀取;檔案小不代表內容一定是新的。 若回應沒有新規則,先確認檔案是否保存到正確位置、上傳是否完整,以及請求有沒有重新導向到另一個資源地址。如果回應其實是錯誤 HTML 或登入頁,處理資源路徑與存取問題;不要把這種情況當 CSS 語法失效。 若回應已有新規則,問題就不應只停留在「清快取」。接著查規則是否選到目標元素,以及是否被其他樣式蓋掉。正常回應碼代表請求完成,不能替你回答這兩件事。 只暫時停用這個瀏覽器的快取比較 在 Network 勾選 Disable cache,再保持 DevTools 開啟並重新整理。這是診斷用的瀏覽器操作,不會清掉你的 MacCMS 模板快取,也不會替 CDN 全站更新。比較停用前後的同一 CSS 網址、回應內容與畫面;確認後取消勾選,回到一般訪客的載入方式再看一次。 快取中的資源可能不需要再次傳完整內容,Network 的 Size/大小欄可顯示 memory cache 或 disk cache;重新驗證也可能出現 304。看到 304,不應直接判定拿了「錯的舊檔」:它表示伺服器允許使用已保存的表示,仍要對照實際內容是否包含修改。 如果停用瀏覽器快取後仍是舊規則,繼續核對回應來源。CDN 或伺服器也可能提供快取內容,而瀏覽器的勾選不能保證它們一起失效。把完整資源網址與回應交給維護者,確認哪一層在提供舊檔,再只處理受影響的資源。 新規則已載入,畫面仍沒變怎麼查 先選一個最小變動作比較,例如同一個按鈕的背景色,不要同時改字體、間距、動畫和多個斷點。保留修改前的色碼與selector,確認改後值能在 CSS 回應找到,再核元素的計算值。若兩者相同而肉眼仍覺得沒變,可查按鈕是否被半透明子元素或背景圖覆蓋,並比較的是不是同一個狀態。 遇到 CSS 有兩份同名檔案,直接看 Styles...
2026-10-04 60 0
文尼先生 2026-10-04

挑 MacCMS 模板時,你可能會在演示影片的播放頁看到需要支付30積分的提示。這個畫面能讓你了解付費入口長什麼樣,但網站要正式收費,還有幾件事要弄清楚:積分怎麼扣、買過後能否再看,以及另一個帳號會不會拿到不屬於自己的觀看權限。 用文尼第53套的 Demo 看一遍,就比較容易分清楚自己要買的版型,以及上線前需要測試的功能。先看訪客的路徑,再把扣點和播放留到自己的測試站確認。 先看模板,再進付費影片 開啟 第53套商品頁,介紹區有橫圖與直圖兩個 Demo。本例使用 橫圖 Demo;首頁的海報圖卡、導覽和列表,可以先幫你判斷版型是否適合自己的內容。 第53套橫圖 Demo 首頁:導覽下方以海報圖卡展示影片,先從這裡看列表版型,再進入詳情核對操作。 實查來源 接著找一個演示的付費影片,進入詳情。本例可直接開啟 影片ID963的詳情頁,點「第1集点击播放」,就會到 這個播放入口。Demo的片名和資料可能會調整,用完整URL核對,比記住影片名稱更方便。 看模板時,可以留意圖卡密度、詳情資訊和播放入口的位置。這些是版型的一部分;你若還需要會員、充值或支付服務,買前就應另外問清楚包含哪些功能。也可以到 MacCMS模板分類 比較其他版型,再選符合自己需求的商品。 30積分提示,告訴了你什麼? 未登入的訪客開啟本例播放入口,會看到「使用积分购买权限」及30積分提示,下方的「马上登录」連向 Demo登入頁。這條路徑很清楚:詳情 → 第1集播放 → 積分提示 → 登入入口。 頁面還寫著「一次支付,永久观看,不重复扣费」。這是頁面的提示文案,實際能否照這個規則扣點、授權與回訪,需要在自己的測試站確認。本文沒有在公開Demo登入、付款或播放;這裡介紹的是訪客看到的入口。 30積分是本例顯示的費用,以實際頁面為準。它不等於模板售價,也不能直接換算成充值金額;你自己站上的影片費用,還是要按資料與會員設定決定。 登入與付費也要分開看。登入後是否回到原影片、原集數?積分不足時會顯示什麼?如果登入完只能回到首頁,訪客就得重新找影片。這些操作值得在上線前走一次。 用兩個測試帳號,把付費流程走一遍 要確認付款後是否真的扣點,先在自己的測試站試一次。準備一部短的自有或合法授權影片,再建立測試帳號A、B,使用測試餘額,別拿正式客戶帳號演練。若需要外部支付,使用已授權的測試模式,無需為了看模板在公開Demo充值。 先決定你要採用的收費規則:按影片、分集還是線路計費?購買後多久有效?刷新或重新登入是否應再次扣點?把這些規則寫下來,測試時才有明確的判斷依據。 手機可在表格內左右滑動查看完整三欄;鍵盤使用者可聚焦表格後按左右方向鍵。 怎麼試 留下什麼紀錄 要看什麼 未登入,開啟播放入口 積分提示與登入連結 費用是否看得懂,是否知道下一步要登入 登入A,先不要購買 初始餘額、影片ID與既有點播紀錄 影片、集數及費用是否正確 A按測試流程購買 購買前後餘額、新增點播紀錄 扣點與觀看權限是否都對應A A刷新,退出後再登入 回訪結果與餘額 是否按你約定的有效期與計費規則處理 用獨立瀏覽器登入未購買的B 同一影片的提示與帳號狀態 B是否仍需自行購買,不會沿用A的權限 紀錄用帳號代號即可,另外記下影片ID、集數、線路和操作時間。把「餘額夠」與「餘額不足」都試過;若不足卻先扣成負數,或連點造成意外重扣,先停止測試,把操作順序交給維護者檢查。分享紀錄時不要附上帳密或完整支付資料。 扣了積分,影片也要能正常播放 假設你的測試規則是「同一入口買過後不重扣」,影片費用為30積分,帳號A原本有100積分。第一次購買後餘額變70,還要查到對應的點播紀錄,並確認A能播放影片。重新登入再看,餘額應按這個規則維持70;若變40,就要查是否重複扣點。這組100、70、40是說明用的假設數字。 播放測試也別停在「看得到播放器」。用合法測試影片確認能開始播放、進度會往前走,再回到同一入口試一次。提示消失卻只有黑畫面時,先讓維護者分開檢查觀看權限、媒體網址和播放器,避免一再付款。 MacCMS官方標籤文件 分別列出詳情、播放、登入、充值及點播紀錄等頁面。找問題時可以沿著這幾個入口查,但部署版本、會員組及自訂程式都可能改變實際行為,測試結果應以你自己的站為準。 手機上,先找得到登入按鈕 手機畫面小,積分文字與登入按鈕特別容易被固定元件擋住。先用390 CSS像素寬的視窗打開同一播放入口,看看費用有沒有換行切斷、按鈕能否看見,再回到詳情。 手機提示的文字換行與登入按鈕位置;這是瀏覽器視窗模擬,仍需真機確認操作。 實查來源 這張圖是瀏覽器的手機視窗模擬。Chrome Device Mode文件 說明了模擬的局限;正式上線前,仍要拿實際手機走過登入、返回原影片、付費提示與播放,留意觸控鍵盤是否擋住表單。一般頁面和選集操作也可參考 第50套手機Demo教學,本例的付費流程則應另外測試。 買模板時,把需要的功能說清楚 如果你主要想換列表與詳情的外觀,先用 第53套商品與Demo 對照自己的內容。若還要會員權限、點播、充值、支付介接或回訪不重扣,可以把上述測試情境和目前使用的MacCMS版本整理好,透過 文尼模板網聯絡入口 詢問交付範圍。 例如,你可以直接問:「同一帳號買過這個影片後,重新登入會不會重扣?按影片還是按集收費?需要另外接哪個支付服務?」回答應能對應到設定和測試方法,才方便雙方確認交付結果。 不要把Demo的30積分直接當成你站上的定價;要使用「永久觀看」這類文案,也應先確認自己的有效期、回訪規則及影片授權。先把收費與觀看流程測清楚,讀者才能知道自己付費後會得到什麼。...
2026-10-01 118 0
文尼先生 2026-10-01

選 MacCMS(蘋果 CMS)模板時,只看手機首頁很容易漏掉問題:分類標題能不能讀、長片名會不會擠出畫面、集數按鈕能不能點,往往要進到內容頁才知道。這篇用本站第 50 套模板的橫圖 Demo 作例子,提供可直接開啟的頁面與截圖,讓你跟著檢查,再用同一套方法比較其他模板。 先做這三步: 找到首頁、分類列表、內容資訊及播放操作四個檢查區塊;詳情和播放可以在同一頁。 在手機寬度下看文字、點入口,等圖片載入後再檢查版面。 記下「通過/待釐清/阻擋」和具體位置,有阻擋項就先問清楚再買。 下文截圖取自 2026 年 10 月 1 日的 Demo,手機畫面使用 390 CSS px 瀏覽器模擬。這些畫面用來比較頁面排版與選集入口;選購前仍需在自己的手機確認聲音、連續播放與播放器操作。 先開第 50 套的這幾個頁面 第 50 套商品頁列有橫圖與直圖兩個 Demo。本篇只看橫圖版 wn50.wntheme.com,不把它的觀察結果套到直圖版或其他模板。 首頁:Demo 首頁。先找搜尋、分類與圖卡入口。 分類:影片分類 1。看分類列、子分類、排序與列表;想測排序,可再開最多播放列表。 長標題資訊:演示影片 983。用刻意加長的示範名稱檢查換行。 分集操作:演示影片 1979 第 1 集。往下找播放列表,再點第 2 集。 這套 Demo 的首頁圖卡直接進入 /v/... 內容頁,影片資訊、播放器與選集在同一頁。不要因為沒有獨立詳情中轉頁就判定有缺陷;應分別檢查資訊是否完整、播放操作是否可用。第一次開啟可能有公告彈窗,先按「我知道了」關閉,再測頁面入口,並把這個初次訪問步驟記下。 第50套橫圖 Demo 首頁,1280 CSS px;2026-10-01 截圖,公告已按正常入口關閉。 查看演示頁 分類頁也值得單獨看。下圖可見分類、子分類、排序與兩欄封面卡片;檢查時可先滑動分類列,再找一張圖卡進入內容頁。排序選項出現,不等於排序結果已正確,仍要點選後比較 URL 和列表。比較排序與分頁時,請實際點開並核對結果。 影片分類1的分類、排序和圖卡,390 CSS px;2026-10-01 截圖,排序是否符合預期,還要點選後比較結果。 查看演示頁 刻意挑長標題,不要只用漂亮的示範資料 如果 Demo 全是短標題、同尺寸封面,版面整齊可能只是資料太理想。第 50 套的983 長標題樣本就適合拿來看資訊區:圖中的390 CSS px畫面讓長標題分行;比較自己的模板時,也要換成實際片名並查看不同手機寬度。 983長標題示範資料在390 CSS px下換行;2026-10-01 截圖,非所有片名或裝置的保證。 查看演示頁 測你自己的內容時,也挑一個長片名、多行簡介和多集數樣本。你若主要用直圖,先看直圖與橫圖的選擇判斷,再選相符的 Demo;不要用橫圖案例代替直圖版驗收。截圖時保留頁面...
2026-10-01 105 0
文尼先生 2026-10-01

MacCMS 搜尋輸入了片名,頁面也換了,卻還是出現一整排不相關影片。先別急著換模板:搜尋入口、推薦區塊與真正的結果列表,是三件不同的事。 以下用文尼第53套的橫圖 Demo說明怎麼分辨。商品列有搜尋頁版面,並不代表你自己的資料、權限與搜尋設定已經正確。 網址有搜尋詞,不等於卡片都符合查詢 打開1979 搜尋頁,網址帶有 wd=1979,頁面標題與導覽也顯示1979。上方卡片卻同時出現963、983與1979,往下還有「没有找到匹配数据」。 同一張搜尋頁有查詢詞,也有其他片名的卡片;判斷結果時,要找出真正回應查詢的區塊。 不能因為1979出現在畫面中,就把整排卡片當成正確的搜尋結果。模板可能同時顯示推薦內容與結果區;先看每個區塊的標題、資料來源與空結果提示,再判斷哪一段需要調整。 用已知片名與找不到的詞,各走一次 在你自己的網站,挑一筆已啟用、可公開查看的影片,記下片名與ID。先搜尋完整片名,再換一個確定沒有使用的短詞。比較送出後網址、顯示的搜尋詞、結果影片ID與空結果提示;別只比較海報長得像不像。 例如另一個搜尋詞的 Demo 頁仍顯示同一排卡片,並有找不到匹配資料的提示。這能提醒你分開檢查固定推薦區與結果區,卻不能證明自己的資料庫沒有那個詞。頁面顯示詞也可能和輸入不同,應把原輸入與送出後的值一起核對。 若出現搜尋間隔或驗證碼提示,先按網站設定正常等待。不要連續快速送出,把限制畫面誤認成結果列表。 再查結果模板與資料條件 MacCMS Club 的影片搜尋頁文件列出:標準搜尋頁使用目前模板的 html/vod/search.html,wd是搜尋詞,page是頁碼;站點搜尋、頻率與驗證碼也受後台設定影響。獨立模板若有自己的路由或檔案配置,按實際配置核對。 確認搜尋頁中的結果標籤、連結與分頁對應搜尋用途,而不是直接沿用首頁推薦列表。資料本身則檢查啟用狀態、分類與訪問權限。片名以外的演員、年份或其他欄位是否可搜尋,要按你站的搜尋條件查,不能從輸入框提示直接推斷。 先分清原因,再決定改哪裡 網址沒有帶到正確搜尋詞,先查表單欄位與送出入口;網址正確但結果區不對,查模板區塊與查詢條件;已知影片找不到,再查資料狀態、權限與設定。頁面404另查路由與偽靜態,別把這幾種問題都交給換模板解決。 修改前保存原檔,先在自己的測試頁驗證已知片名與空結果。確認查詢詞、影片ID及連結都對,再套到正式搜尋頁;公開 Demo 的畫面只能幫你辨識問題,不能代替自己的資料與設定檢查。 參考資料 MacCMS Club:影片搜尋頁 文尼第53套商品頁 第53套:1979搜尋頁 第53套:另一個搜尋詞 資料查核:2026年10月4日。公開頁內容與網站設定可能變動。
2026-09-30 62 0
文尼先生 2026-09-30

第1頁有影片,點第2頁還是熟悉的海報,未必是資料重複匯入。先看你點的連結有沒有換頁,再確認自己比較的是分類結果,還是每頁固定出現的推薦區。這兩個地方混在一起看,很容易改錯列表。 用影片 ID 比海報準 在自己的站找一個可公開存取、影片筆數超過每頁顯示數量的分類。打開第1頁,記下實際網址,以及結果區的影片ID與順序;再點網站產生的第2頁連結,重做一次。ID可由影片詳情連結辨認,若網址沒有編號,則對照你已知的影片記錄。 不要自行猜 /page/2/ 之類的地址,每個站的路由設定可能不同。也不要以同一張推薦海報判定重複。如果分類本來就沒有足夠影片、沒有下一頁連結,先準備足夠的可見資料,才能比較兩頁。 地址換了,列表也要使用頁碼 傳統 MacCMS 分類模板的列表,要同時核對分類範圍與分頁設定。下面是一段放在分類模板內的基本寫法: {maccms:vod num="10" type="current" paging="yes" pageurl="vod/type" order="desc" by="time"} <p>{$vo.vod_id}:{$vo.vod_name}</p> {/maccms:vod} num 決定每頁數量,paging="yes" 啟用分頁,pageurl="vod/type" 對應分類入口;搜尋頁不能直接照搬這個動作。type="current" 保留目前分類範圍。修改前備份原段落,先核你用的是分類模板與傳統標籤語法。 分頁條要對應同一段列表 通用分頁使用 $__PAGING__ 提供的目前頁碼、總筆數與下一頁地址,應放在對應列表結束後。同頁多個分頁列表共用一個物件時,分頁條可能對上另一段資料;先保留一個主要結果列表,比對網址、頁碼與ID,再逐段加回。 兩頁ID連同順序完全相同,才有明確線索繼續查連結與列表。測試期間不要同時增刪影片或更改排序,以免內容移位干擾判斷。最後也點到末頁,確認不會一直回到相同地址;恢復正式外觀時,移除暫時顯示的ID文字。 參考資料 MacCMS Club:通用分頁與分頁物件 MacCMS Club:影片列表參數 MacCMS Club:影片分類模板 資料核對:2026年10月4日。文件與網站環境可能更新,操作前請核對自己的設定。
2026-09-29 54 0
文尼先生 2026-09-29

改了模板裡的一句文字,重新整理仍看見舊內容,很容易開始反覆清快取。不過,如果你改的根本不是目前使用的檔案,清幾次都沒用。先確認檔案與頁面入口,再分辨訪客看到的是程式渲染頁面,還是已經生成的靜態檔。 先證明改到正確模板 保留原檔與目前模板設定,在自己的測試副本加一小段容易辨認的文字。首頁通常對應 html/index/index.html,影片詳情對應 html/vod/detail.html;這些位置都是相對於目前啟用的模板。分類或內容的獨立模板設定,也可能選到別的檔案。 打開要修改的那個頁面,別只看首頁。標記沒有出現時,先查啟用模板名稱、HTML目錄與獨立模板,而不是順手刪掉其他目錄。公共片段被多頁共用,也要確認目標頁確實包含它。 模板快取與已生成頁面是兩件事 確認檔案已保存、頁面使用它之後,才透過自己網站既有後台的模板快取入口處理。模板快取與程式取得模板後的渲染有關,清理它並不等於把已生成的靜態HTML全部改寫。 如果網站使用純靜態頁,舊頁可能是上次生成時留下的內容。這時應按原有生成流程重新生成受影響頁面,再打開對應的實際網址。不要只因為網址結尾有 .html 就判定它是磁碟上的靜態檔;路由也能把動態頁顯示成這種地址。 一次處理一個可確認的原因 例如你只改影片詳情的提示文字:先核該詳情使用哪個模板,再看頁面生成模式。若是動態頁,處理模板快取後回到同一詳情;若是純靜態頁,還要按既有流程重新生成它。不要同時換模板、清多種快取又大量重生成,否則文字出現了也不知道是哪一步起作用。 若修改後出現解析錯誤或版面破損,先還原原檔;需要重生成的頁面也依原流程更新。標記確認完成就刪掉,記下改動檔案與影響頁面。重新整理只是一個觀察動作,真正要核對的是你保存的文字,是否出現在正確頁面的正確區塊。 參考資料 MacCMS Club:模板檔案位置與修改後檢查 MacCMS Club:公共片段與模板語法 資料核對:2026年10月4日。文件與網站環境可能更新,操作前請核對自己的設定。
2026-09-29 60 0
文尼先生 2026-09-29
顯示驗證碼
沒有帳號?註冊  忘記密碼?