vQmod在預設情況目前使用的XML格式,但未來可能會使用其他的格式。
下面是一個簡單的取代script如:
此script簡單改變了一種"relative/path/myfile.php",把變數var設定"123"改為"ABC"變數值。
語法:Syntax
vQmod支援的參數有:
modification
這是檔案最高級別,也只有一個。
modification / id
這是模組的名稱和描述。
格式:文字形式。(信息)
modification / version
這是模組的版本。
格式:數字或Decimal (1.0.0)
modification / vqmver
這是最短VirtualQMod所需版本的腳本。
格式:數字或Decimal (1.0.0)
modification / author
這是模組的作者。
格式:文字形式。(信息)
modification / file
此為要變更的檔案名稱
需名稱屬性其為檔案文件名稱如index.php檔案的相對位置(如catalog/controller/product/product.php)。 名稱屬性支援建立動態路徑萬用字元(*)。每個萬用字元僅限於一個單一的目錄級別。
- catalog/view/theme/*/template/product/product.tpl
- catalog/view/theme/*/*/product/product.tpl
等等....
在一個 XML檔案中可標記多個標籤,每個檔案都可有自己的一套操作。
modification / file / operation
這是實際發生的操作包裝。
可以有多個相同檔案標籤。
可選的"error"屬性設置為skip | log | abort
skip意含所有其他操作將不可應用。將不會在log顯示錯誤。
log相同於skip,但會記錄錯誤。
abort意含記錄錯誤日誌和恢復到初始的來源。(預設)
modification / file / operation / search
這為所需操作的第一步。
只能搜尋單一行。但可使用offset 及 index屬性來協助。
自動修剪空白和換行
一個操作的標籤
推薦使用CDATA標籤來包裝程式碼。
需位置屬性來設置為before|after|replace|top|bottom|all幾種型式。
replace 為在搜尋標籤中的資料取代為add標籤上的資料。(預設)
before 為在搜尋標籤中的資料之前插入add標籤上的資料。
after 為在搜尋標籤中的資料之後插入add標籤上的資料。
top 為在文件頂部插入add標籤上的資料。搜尋資料會被忽略。
bottom 為在文件底部插入add標籤上的資料。搜尋資料會被忽略。
all 將完全以add標籤上的資料取代所有資料。搜尋資料會被忽略。
可選offset屬性為要工作的位置
若搜尋位置為before 及 offset 3,其會放置add標籤上的資料在搜尋前3行
若搜尋位置為after 及 offset 3,其會放置add標籤上的資料在搜尋後3行
若搜尋位置為replace 及 offset 3,其會從搜尋行中移除碼及下一個3行以add標籤上的資料取代
若搜尋位置為top 及 offset 3,其會在文件的最前3行下面放置add標籤上的資料
若搜尋位置為bottom 及 offset 3,其會在文件的最後3行前面放置add標籤上的資料
可選index屬性為搜尋標籤的例項將要指定動作標示
若搜尋字串為"echo",在文件中有5個echo值,而只想取代第1和第3的值,可使用index="1,3"來標示
多個實例是逗號來分隔,啟始值為"1"
遺漏或設置為false則取代所有例項。(預設)
可選regex屬性用於指定是否要以正規表示法模式來搜尋。
若為 true,則是以有效的正規表示法模式來搜尋
遺漏或設置為false則是使用正常字串來搜尋(預設)
可選trim屬性設置為 true|false
true將修剪遠離空白和換行。
遺漏或設置為true,則代表要修剪。(預設為 true)
modification / file / operation / add
這為所需操作的第三步。
可多行
一個操作的標籤
add標籤上的資料取決於屬性搜尋的位置。
使用CDATA標籤來包含程式碼。
可選trim屬性可設置為 true|false
true將修剪遠離空白和換行。
遺漏或設置為true,則代表要修剪。(預設為 true)
<![CDATA[ ]]>
此被稱為CDATA tags和其被用來指定xml資料。建議增加資料則是使用 search及 add operation tags