CMS:使用 CMS 運算式操作文字字串
18 分鐘
使用 CMS 運算式充分發揮 CMS 的功能,無需使用 Velo 或 JS 程式碼。
運算式可將靜態文字與多個集合欄位的動態值合併為單一文字字串。您可設定動態日期、時間和數字的格式,並依需求顯示,也可使用數字欄位建立數學運算式。甚至能在同一個運算式中合併多個函數,創造無限可能。
注意:
Wix Harmony 編輯器目前不支援 CMS 運算式。您可投票支持 Wix Harmony 的 CMS 運算式。

如需瞭解此流程的概覽,請查看終極 CMS 指南影片。
CMS 運算式函數簡介
CMS 運算式會結合函數、常值和集合欄位值,以全新方式在網站上呈現資料。
將支援的頁面元件連結至資料集後,即可將元件的文字值連結至 CMS 運算式。接著建立包含函數、欄位 ID、字串、數字和其他語法的運算式。已連結元件中的文字會顯示運算式的計算結果。
運算式包含以下結構:
- 函數:界定如何計算函數後方括號內的值,各值之間以逗號分隔(例如 MULTIPLY(price, count)、DAYS(_createdDate, NOW())、CONCAT("建立日期:", _created Date)))。
- 欄位 ID:各集合欄位的獨特識別碼(例如 title、_createdDate、clientName)。
- 字串:由字母、數字、符號和空格組成的字元序列。
- 字串常值:以引號括住的字元序列,用於顯示靜態文字(例如 "您好"、'您好'、'Kevin Young 的「Errata」'、"\"Kevin Young 的「Errata」\""、"反斜線是 \\,正斜線是 /")。
- 數字常值:函數使用的數值(例如 123、1000、3.14)。
- 陣列常值:表示陣列的方式。陣列是以方括號括住的有序值集合,通常包含相同類型的值(例如 [1,2,3]、["貓", "狗", "老鼠"])。
- 特殊常數:在函數範圍內具有特定意義的預先定義值(例如 true、false、undefined、null)。
請留意,運算式會區分大小寫。在運算式中使用欄位時,請輸入欄位 ID,而非欄位名稱。欄位 ID 也會區分大小寫。
輸入運算式時,系統會提供建議,協助正確使用函數和欄位 ID。若要在編輯器中更輕鬆地查看欄位 ID,請啟用開發模式。
撰寫運算式的重要資訊:
- 參照集合欄位時,請輸入欄位 ID,而非欄位名稱。欄位 ID 是各集合欄位的獨特識別碼,與欄位名稱不同。
- 函數和欄位 ID 會區分大小寫,請留意兩者的大小寫用法。
- 使用 CONCAT 函數時,請將「靜態」字串常值放在引號內,包括靜態標點符號,以及參照欄位之間的空格。
- 如果函數無法運作,請查看「運算式」欄位底部的錯誤訊息,從中找出問題的修正方式。
將元件連結至資料集中的運算式
若要開始使用,請將相關元件連結至 CMS,並選擇「運算式」連結選項。接著輸入要使用的運算式。如需建立運算式的相關協助,請參閱後續區段。
Wix 編輯器
Studio 編輯器
- 在編輯器中,點擊要連結至 CMS 的元件(例如文字、按鈕或圖庫)。
- 點擊「連結至 CMS」圖示 。
- 點擊「選擇資料集」下拉式選單,並選擇已連結至集合的現有資料集。也可點擊「建立新資料集」,再選擇要連結的集合。
- 點擊「連結選項」下方的相關下拉式選單,然後選擇「運算式」。

- 點擊「運算式」欄位。
- 輸入要使用的函數名稱(例如 CONCAT、DATE、TEXT、PRICE)。
提示:開始輸入後,即可從可能使用的函數清單中選擇。

- 輸入左括號:(
- 輸入要在運算式中使用的欄位 ID 或值。輸入時,系統會顯示相符的欄位 ID 清單供選擇。
- 輸入右括號:)

運算式範例
請參閱以下區段中的範例,了解如何撰寫不同類型的運算式。
使用字串串接合併多個欄位的值
使用 CONCAT 函數,即可將多個不同集合欄位的值合併至單一文字欄位。您也可以在函數中加入自訂文字,將靜態字元與動態值合併。靜態字元不會改變,動態值則會根據資料集擷取的項目而變更。請務必以引號括住所有靜態文字,包括空格和標點符號(例如 " " 或 ",")。
您可以使用不同函數達成類似效果,也可以在函數中結合其他函數,執行更進階的任務。如果運算式發生問題,請查看錯誤訊息,找出解決問題的線索。
CONCAT 函數的應用範例之一,是為動態項目頁面的介紹建立自訂文字。這段文字可以依姓名介紹每位成員、提及職稱,以及在公司的任職時間。運算式如下:
1CONCAT("Our ",jobTitle,", ",title,", has worked here since ",date,".")此範例中:
jobTitle 欄位 ID 代表包含各成員職稱的集合欄位。title 欄位 ID 代表包含各成員姓名的欄位。hireDate 金鑰來自包含各成員到職日期的欄位。請留意,所有靜態文字和標點符號都以引號括住。

如何合併函數並只顯示年份,不顯示月份或日期
查看下表,了解更多 CONCAT 函數的基本範例:
| 使用情境 | 運算式 | 範例 | 結果 |
|---|---|---|---|
合併欄位值,不加入空格或標點符號 | CONCAT(value,value) | CONCAT(title,jobTitle) | Brian Chang產品副總裁 |
以逗號和空格分隔合併的欄位值 | CONCAT(value,", ",value) | CONCAT(title,", ",jobTitle) | Brian Chang,產品副總裁 |
合併靜態文字與欄位值 | CONCAT("您好,",value) | CONCAT("您好,",title) | 您好,Brian Chang |
合併欄位值,並在開頭和結尾加入靜態文字 | CONCAT("您好,",value,",歡迎回來。") | CONCAT("您好,",title,",歡迎回來。") | 您好,Brian Chang,歡迎回來。 |
日期/時間格式
若要控制已上線網站的日期與時間格式,或根據日期計算值,請使用日期/時間函數。這些函數適用於日期、時間和數字欄位類型。

在上述範例中:
DAYS 函數會傳回動態 dueDate 欄位與今天日期之間的天數。請注意,此運算式結合了 DAYS 函數、TODAY 函數,以及用於合併靜態和動態文字的 CONCAT 函數。
點擊下方的相關函數,深入了解詳情:
DATE
DATEVALUE
YEAR
MONTH
DAY
HOUR
MINUTE
SECOND
DAYS
DAYS360
EDATE
EOMONTH
NETWORKDAYS
NETWORKDAYSINTL
NOW
TODAY
TIME
TIMEVALUE
WEEKDAY
ISOWEEKNUM
WEEKNUM
WORKDAY
WORKDAYINTL
YEARFRAC
使用 TEXT 函數設定數字格式
使用 TEXT 函數設定數字格式。例如,可將「數字」欄位類型的值設定為貨幣或百分比格式。

在上述範例中:
TEXT 函數會將「數字」欄位類型(price)設定為美元金額格式。請留意,TEXT 函數插入在 CONCAT 函數內,後者會在價格前加上靜態文字。
點擊下方,查看 TEXT 函數的使用範例:
將數字轉換為貨幣格式
將數字轉換為百分比(%)格式
使用 PRICE 函數顯示價格
使用 PRICE 函數,即可根據網站幣別,將「數字」欄位值顯示為已設定格式的價格。這是以正確貨幣符號和格式顯示價格的最快方式,無需使用格式模式字串或其他函數。
PRICE 函數適用於使用者建立的集合中的「數字」欄位,包括目錄集合。此函數不適用於 Wix 應用程式集合,例如 Wix Stores 或 Wix Bookings。

在上述範例中:
PRICE 函數會取得集合中的 price 欄位,並根據網站幣別將其格式化且顯示為 $85.00。
點擊下方,查看 PRICE 函數的使用詳情:
PRICE 函數用法
搭配 CONCAT 使用 PRICE
PRICE 與使用 TEXT 函數設定貨幣格式有何不同?
數學函數
您可使用數學函數,根據不同類型的「數字」欄位及/或固定數字進行計算。

在上述範例中:
MINUS 函數會計算 20 - 11 = 9。20 是固定值,而「數字」欄位值(rewardPoints)則是動態值。請留意,運算式如何將 MINUS 函數插入 CONCAT 函數中,以結合固定文字與動態值。
請查看下表,深入了解數學運算式的更多使用範例:
| 使用案例 | 運算式 | 範例 | 結果 |
|---|---|---|---|
計算 2 個數字的總和 | ADD(value,value) | ADD(number1,number2)
ADD(4,20) |
24
|
計算 2 個數字的差 | MINUS(value,value) | MINUS(number1,number2)
MINUS(100,1) |
99
|
計算 2 個數字的乘積 | MULTIPLY(value,value) | MULTIPLY(number1,number2)
MULTIPLY(2,4) |
6
|
計算一個數字除以另一個數字 | DIVIDE(value,value) | DIVIDE(number1,number2)
DIVIDE(10,2) |
5
|
若 2 個值相等,則傳回「true」;否則傳回「false」 | EQ(value,value) | EQ(number1,number2)
EQ(200,200) | true |
計算一個數字(「x」)的另一個數字(「y」)次方 | POW(x,y) | POW(2,3) POW(3,3) |
8
27
|
檢查兩個值是否相等 | EQ(等於) | EQ(5,5) | true |
檢查兩個值是否不相等 | NE(不等於) | NE(5,7) | true |
檢查一個值是否大於另一個值 | GT(大於) | GT(7,5)
GT(7,7) | true
false |
檢查一個值是否小於另一個值 | LT(小於) | LT(5,7)
LT(7,5) | true
false |
檢查一個值是否大於或等於另一個值 | GTE(大於或等於) | GTE(7,5)
GTE(5,5) GTE(5,4) | true
true false |
檢查一個值是否小於或等於另一個值 | LTE(小於或等於) | LTE(5,7)
LTE(5,5) LTE(5,4) | true
true false |
常見問題
點擊下方即可查看運算式常見問題的答案。
哪些元件可使用運算式?
哪裡可以找到欄位 ID?
。
。接著點擊即可展開相關集合,並在各欄位旁的括號內查看欄位 ID。