opencart是一個用PHP開發的網上商城程式,據說是一位英國人獨自完成的,贊一個!
vqmod是opencart的一種編程機制,可以理解為vqmod就是opencart的外掛程式。
既然將vqmod認為是opencart的外掛程式,那它必然是一個或多個檔案,事實也是如此;
檔案位置:vqmod/xml(目前的目錄均為網站根目錄,下同)
檔案格式:xml格式,
原理:文本尋找、替換換增加
舉例說明:vqmod_add_sku.xml
<modification> /* 根 */
<id>Very simple AJAX live search</id>
<version>1.0.0</version>
<vqmver>1.2.3</vqmver>
<author>n[oO]ne</author>
<file name="admin/controller/catalog/product.php"> /* 替換的檔案名稱*/
<operation>
<search position="after"> /*ater: 在尋找到的字串後面增加;before:在尋找到的字串前面增加;replace:替換尋找到的字串*/
<![CDATA[
$this->data['products'][] = array( /* 尋找的字串*/
]]>
</search>
<add>
<![CDATA[
'sku' => $result['sku'], /* 增加或替換的字串*/
'upc' => $result['upc'],
]]>
</add>
</operation>
</file>
看到這裡大家就明白了,vqmod的機制就是當執行某一程式(比如a.php,也可以是模型檔案和視圖檔案)時,先尋找vqmod/目錄下的所有xml檔案,有沒有<file name="a.php";若沒有,就正常執行;若有,就按這個xml檔案的說明替換掉源檔案,再執行這替換後的檔案。所以系統會有一個位置儲存這些替換後產生的檔案,這個位置就是vqmod/vqcache,而且檔案名稱有規律,比如上例中的name="admin/controller/catalog/product.php",則替換後的檔案名稱為vq2-admin_controller_catalog_product.php。大家若有興趣,不妨開啟這三個檔案,對比一下就一目瞭然了。