跳到主要內容
聯絡我們

新型號到貨那天,我自己就把它上架了。

沒有寄信給工程師,沒有等三天,沒有先做一份 PDF 再請人貼上去。
我拍完照、填完規格、按下發布,官網上就有了。

AMAX 產品目錄官網 | CATALOG SITE

示意圖

  1. 大分類
  2. 群組
  3. 型式
  4. 型號規格欄位
這是我每天真的會打開的那一頁。

這件事以前要走四步。

01

我做一份 PDF

打開去年的型錄檔,複製一頁,改型號、改規格、改照片。存成新的 PDF。

02

我寄信給工程師

「麻煩幫我上這個新型號,規格如附件,照片在雲端連結裡,謝謝。」

03

我等

三天。有時候一週。中間業務問我三次「官網好了沒」。

04

我再寄一次信

因為某一欄的規格值打錯了。

四步裡有三步是在等別人。

現在我是這樣做的:上架一個新型號

這一段是我實際的操作順序。不是簡化過的版本,就是這幾步。

我先登入後台

後台網址是官網加 /admin。用我的公司信箱登入,同事各有各的帳號,誰改了什麼有紀錄。沒登入的人打不開,也搜尋不到。

示意圖

用我的公司信箱登入

同事各有各的帳號

誰改了什麼有紀錄

沒登入的人打不開,也搜尋不到

我找到它該待的那一層

產品目錄是四層。我點進「大分類 → 群組 → 型式」,走到最後一層才是型號本身。走錯層的話會發現這一層下面根本沒有「新增型號」的按鈕 —— 系統不讓我把型號掛在錯的地方。

示意圖

  1. 大分類
  2. 群組
  3. 型式
  4. 型號

系統不讓我把型號掛在錯的地方

我填規格

規格欄位是一格一格的欄位,不是一個備註欄。我填完,它就是可以被篩選、被排序、被搜尋的資料,而不是一段文字。

欄位 placeholder
例:規格 A / 例:介面型式 / 例:數值
必填錯誤訊息
這一欄還沒填。型號、所屬層級是必填的,其他欄位可以之後補。

示意圖

一個備註欄一段文字

一格一格的欄位

可以被篩選可以被排序可以被搜尋

我上傳照片

照片直接從我的電腦傳到圖庫,不經過官網主機,所以大檔也不會卡。傳完會自動記一筆「這張圖被哪個型號用了」。

上傳中
上傳中… 這一步是直接傳到圖庫,關掉這頁會中斷。
tooltip(圖庫的「掃描未使用檔案」按鈕)
列出目前沒有被任何一筆內容引用的檔案。掃描只是列出來,不會刪。

示意圖

我的電腦

圖庫不經過官網主機

記一筆「這張圖被哪個型號用了」

我按發布

發布後官網那一頁就存在了,網址是用型號自動生出來的固定網址。我不需要知道什麼是網址結構。

示意圖

在後台按發布

官網那一頁就存在了網址是用型號自動生出來的固定網址

從登入到發布,中間沒有任何一步需要別人。

那如果不是一個型號,是一整個系列呢?

這是我第二常做的事:整個系列改版、整個系列調順序、整個系列下架。我先講清楚哪些能一次做完、哪些不能 —— 因為這件事被講得太滿的話,你買回去第一週就會發現。

B-1|可以一次做完:調整整個系列的顯示順序

產品列表的順序是可以直接拖的,拖完存檔就是官網上的順序。不用一筆一筆改「排序」欄位填數字。

B-2|可以一次做完:刪掉一整層,而且刪之前先告訴我會波及誰

我要下架一整個型式時,系統會先算給我看:「這個動作會一併移除底下的 {n} 筆型號」——{n} 是真的去數過的那個數字,不是估的。我看清楚再按確認。

這不是嚇唬人的警語,是真的先去數過了才顯示的數字。

級聯刪除確認框標題
確認要移除這一層嗎?
級聯刪除確認框內文
這個動作會一併移除底下的 {n} 筆內容。移除後無法從後台復原。
確認按鈕
我知道,移除這 {n} 筆
取消按鈕
先不要

B-3|可以一次做完:圖庫批次清理

圖庫可以掃出「沒有任何一筆內容在用」的檔案,勾選後一次刪掉。這是唯一一個我會定期做的維護工作,一季一次,五分鐘。

B-4|做不到,我直接說

後台目前沒有「一次改掉整層型號的某個規格值」的按鈕。

會一次動到很多筆的是刪除排序,規格值仍然是逐筆改。

如果你的實際情況是「每季要一次改掉幾百筆的價格或交期」,那要另外做匯入功能,這是一筆額外的開發,不是現成的。我們寧可在你買之前講,也不要在你上線之後才講。

判斷方式很簡單:如果你的改動是「結構」(誰在誰底下、誰排前面、誰不要了),後台一次做完。

如果你的改動是「數值」(幾百筆的價格、交期、庫存),那需要匯入,先跟我們講。

老闆說要出海,官網要有英文版。

這一段我要分兩件事講,因為它們的成熟度不一樣,混在一起講會騙到你。

C-1|網址與版面:已經上線在跑

一個網站要有兩種語言,最麻煩的不是翻譯,是網址、語言標記、搜尋引擎的對應關係,還有「使用者切語言時,會不會被丟回首頁」。

這一整套我們已經在自家另一個已上線的站上做完並跑在正式環境:兩種語言各自有自己的網址、各自的語言標記與搜尋引擎對應標籤、切換語言時停在原本的段落不會跳回最上面,而且在完全沒有 JavaScript 的情況下也能切。

示意圖

同一頁內容

語言一

自己的網址語言標記搜尋引擎對應標籤

語言二

自己的網址語言標記搜尋引擎對應標籤

切換語言時停在原本的段落;沒有 JavaScript 也能切

C-2|產品資料本身的雙語:schema 已經有,但要看你的資料

產品分類的名稱本身要能一份資料兩種顯示,這是資料庫層的事 —— 分類的「識別碼」與「顯示名稱」要拆開存,識別碼不隨語言變,顯示名稱一種語言一份。

這個結構我們在另一個產品的分類系統裡已經實作並上線。搬到你的型錄上是設定工作,不是研發工作。

C-3|誠實那一段

目前這個型錄官網已上線的客戶案,線上跑的是單一語言版本。

多語的路由層與資料層我們都有已上線的實作,但不是在同一個站上

所以正確的講法是:「多語是我們做過、而且現在還在跑的東西,但你的站要開雙語,是一次要排進去的工作,不是打開開關。」

如果哪個廠商告訴你「勾一個選項就有英文版」,請他打開後台當場加一個語言給你看。

技術說明 · 以下改用第三人稱

四層分類,為什麼不是「多開三張表」

製造業的型錄幾乎都是四層以上:大分類 → 群組 → 型式 → 型號。多數 CMS 只給兩層,於是導入時常見的做法是硬開三張表,一層一張。這個做法在第一年可以動,第二年客戶說「我要多一層」的時候整個崩掉。

資料模型

這套系統的產品目錄由四張階層表構成:分類 → 群組 → 型式 → 型號,每一層都帶自己的排序欄位與網址片段,最底層掛規格欄位。

關鍵不在「剛好四層」,而在每一層的關係是泛型的 parent / child + sortable:層與層之間是同一種關係,所以要加第五層、或把某一層拿掉,是資料遷移的問題,不是重寫的問題。

示意圖

  1. 分類排序欄位網址片段
  2. 群組排序欄位網址片段
  3. 型式排序欄位網址片段
  4. 型號排序欄位網址片段規格欄位

層與層之間是同一種關係:parent / child + sortable

規格欄位怎麼跨產業

最底層的規格欄位在既有的上線案裡是強型別欄位(因為那是一個光通訊元件的站,欄位是產業專有的)。換到別的產業時,規格欄位改成 JSONB 存放,前台用欄位定義表決定顯示順序與單位。

這是本產品唯一需要逐案調整的地方,也是報價會依產業不同的原因。

階層操作的三個 API

能力它實際做的事
排序更新同一層節點的排序值,一次寫入,前台順序即為後台順序
級聯影響預覽刪除前先向下遞迴計數,回傳「會一併移除 N 筆」給確認框顯示
網址片段路由每層一個網址片段,組合成產品頁的固定網址;改層級名稱不影響既有網址

自動分類:刻意不打 LLM

系統裡有一支自動分類器,用途是把新進的品項落到正確的分類。它是純記憶體的關鍵字字典比對,刻意不呼叫任何模型

  • 多個分類同時命中 → 取排序值最小的那個,並標記 ambiguous 交由人判斷
  • 零命中 → 落入 uncategorized,不編造分類

選擇不打模型的理由有三個:分類結果要能被解釋(客戶會問「為什麼它跑到這一類」)、不能有 API 帳單、以及同樣的輸入永遠要得到同樣的結果。

這一段是本產品全頁唯一與「AI」沾邊的地方,而它的內容是「我們刻意不用」。

附帶的工程細節(技術方會追問的)

主題做法已知限制
圖檔上傳前端向後端要一組限時憑證,檔案直傳物件儲存,不經應用主機;傳完回呼記帳
孤兒檔回收掃描沒有任何內容引用的檔案 → 列出 → 人工確認 → 批次刪除;另有獨立清理腳本掃描是列出不是自動刪,這是刻意的
表單防濫用訂閱表單限流每小時 5 次限流是單機記憶體實作,多台機器部署時要換成外部限流服務。這一點程式檔內已註明,不是「企業級防護」
表單流向送出 → 限流 → 寄送通知信 → 落到後台成為工單(狀態:新進 → 已聯繫 → 已結案)
搜尋引擎自動產生 sitemap 與 robots、結構化資料標記、部落格與案例支援靜態產生
改版驗證有自動化截圖流程,改版前後逐頁對照目前截圖路徑是寫死的,產品化時要抽成設定檔

—— 技術說明結束。以下回到我。

在你問報價之前,我想先講誰不該買這個。

這套東西是為你做的

  • 你有一份型錄,而且它的分類天生就有三層以上。
  • 你的產品規格是可以列表的(尺寸、材質、規格值),不是一段一段的描述文。
  • 你公司裡有一個人 —— 通常是業務助理或行銷 —— 願意當那個「負責更新的人」。這一點最重要,沒有這個人,最好的後台也會長草。
  • 你希望詢價信有個地方可以追,而不是躺在誰的信箱裡。
  • 你打算三年內不換官網。

這套東西不適合你

  • 你要的是購物車與線上刷卡。這頁講的是目錄,不是電商;要交易功能是另一個題目。
  • 你的產品只有 20 個,而且一年不改。那你需要的是一個五頁的靜態官網,比這個便宜很多。
  • 你每季要一次匯入幾百筆價格。可以做,但那是額外的開發項目,不在標準範圍內。
  • 你想要「AI 自動幫我把 PDF 變成產品頁」。那是另一個產品/catalog-ai),這一頁沒有那個能力,兩者可以接在一起,但不是同一件事。
  • 你需要一套自己能改程式碼的系統。我們交付的是可運作的網站與後台,不是一套授權你二次開發的框架。

這五條「不適合」裡只要中兩條,先別問報價,先跟我們講你的情況。

下一次新型號到貨,換你自己上架。

給我們一份你現在的型錄(PDF 或紙本都可以)和你官網的網址,我們會回你三件事:你的分類要幾層、哪些規格欄位要改成通用欄位、以及這樣一個站的範圍與時程。

本頁描述的是網站與內容管理系統。它不包含任何 AI 或模型判讀功能 —— 這是刻意的設計選擇,理由寫在區塊 6。