CMS:使用 CMS 運算式處理文字字串
無需使用 Velo 或 JS 程式碼,即可透過 CMS 運算式充分發揮 CMS 的潛力。
運算式可將靜態文字與多個集合欄位的動態值合併成單一文字字串。您可設定動態日期、時間和數字的格式,依需求顯示內容,也可建立使用數字欄位進行計算的數學方程式,甚至在同一個運算式中組合多個函數,創造無限可能。

如需此流程的概覽,請查看終極 CMS 指南影片。
CMS 運算式函數簡介
CMS 運算式結合函數、字面值和集合欄位值,以全新方式在網站上呈現資料。
將支援的頁面元件連結至資料集後,即可將元件的文字值連結至 CMS 運算式。接著,建立由函數、欄位 ID、字串、數字和其他語法組成的運算式。已連結元件中的文字會顯示運算式的計算結果。
運算式包含以下結構:
- 函數:界定如何計算函數後方括號內的值,各值之間以逗號分隔(例如 MULTIPLY(price, count)、DAYS(_createdDate, NOW())、CONCAT("建立日期:", _created Date)))。
- 欄位 ID:各個集合欄位的獨特識別碼(例如 title、_createdDate、clientName)。
- 字串:可包含字母、數字、符號和空格的一連串字元。
- 字串常值:以引號括住的一連串字元,用於顯示靜態文字(例如 "您好"、'您好'、'Kevin Young 的「勘誤」'、"\"勘誤\",作者 Kevin Young"、"反斜線是 \\, 正斜線是 /")。
- 數字常值:函數使用的數值(例如 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 函數會將「數字」欄位類型(價格)設為美元金額格式。請留意,TEXT 函數會插入 CONCAT 函數中,由後者在價格前新增靜態文字。
點擊下方即可查看 TEXT 函數的使用範例:
將數字轉換為貨幣格式
將數字轉換為百分比(%)格式
使用 PRICE 函數顯示價格
使用 PRICE 函數,即可根據網站貨幣將「數字」欄位的值顯示為格式化價格。這是以正確貨幣符號和格式顯示價格的最快方式,不需要格式模式字串或其他函數。
PRICE 函數適用於使用者建立之集合中的「數字」欄位,包括目錄集合。此函數不適用於Wix 應用程式集合,例如 Wix Stores 或 Wix Bookings。

在上述範例中:
PRICE 函數會取得集合中的價格欄位,並根據網站貨幣格式顯示為$85.00。
點擊下方即可查看 PRICE 函數的使用詳情:
PRICE 函數用法
PRICE 與 CONCAT 搭配使用
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
|
計算 1 個數字除以另一個數字的結果 | 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 的位置


(位於