我正在为OpenCart 1.5网站开发支付模块,但是安装了vQmod,可以为所有支付模块添加一个包含选项的表行。但是,设置vQmod的方式是在</table>
标记之前添加这些行,但是因为我的支付模块设置页面上有两个表,所以它会将该行添加两次。
<file name="admin/view/template/payment/*.tpl">
<operation error="skip">
<search position="before" index="1"><![CDATA[
</table>
]]></search>
<ignoreif><![CDATA[
Braintree Payment Gateway v156.4
]]></ignoreif>
<add><![CDATA[
<tr>
<td><?php echo $entry_paid_status; ?></td>
<td>
<?php if ($field_value) { ?>
<input type="radio" name="<?php echo $classname; ?>_paid_status" value="1" checked="checked" /><?php echo $text_paid; ?>
<input type="radio" name="<?php echo $classname; ?>_paid_status" value="0" /><?php echo $text_unpaid; ?>
<?php } else { ?>
<input type="radio" name="<?php echo $classname; ?>_paid_status" value="1" /><?php echo $text_paid; ?>
<input type="radio" name="<?php echo $classname; ?>_paid_status" value="0" checked="checked" /><?php echo $text_unpaid; ?>
<?php } ?>
</td>
</tr>
]]></add>
</operation>
...
</file>
基本上,它为称为“付费状态”的内容添加了一行 - 这对我的付款模块并不是真正需要的,但如果添加它则不是问题 - 但是因为它在</table>
之前添加了它我的模块有两次这个标签,它会被添加两次。
我注意到了<ignoreif>
标签 - 但我不确定这是如何工作的(我对vQmods不太熟悉)我试着在那里添加我的支付模块的名称,但它没有区别
基本上我要问的是,有没有办法将这些代码排除在我的模块之外?在任何人建议之前,我无法取出表格,这个页面需要它们。
谢谢
答案 0 :(得分:1)
ignoreif 用于忽略操作。
请查看以下示例代码:
<modification>
<id><![CDATA[###Description/Title###]]></id>
<version><![CDATA[###Our code version (Usually specifies plugin/extension version)###]]></version>
<vqmver><![CDATA[###Vqmod version###]]></vqmver>
<author><![CDATA[###Author's Name###]]></author>
<file path="###Folder path###" name="###File name###" >
<operation info="###Operation Info###" >
<search position="###Search/Replace filter###" offset="0">
<![CDATA[###Search Code###]]>
</search>
<ignoreif regex="false" ><![CDATA[
###Add Code###
]]></ignoreif>
<add><![CDATA[
###Add Code###
]]></add>
</operation>
</file>
</modification>
参考网址: Opencart: Vqmod tutorial