如何在OCMOD OpenCart中的多个位置添加相同的代码



我想将代码放在文件中出现 2 次$order_product_id = $this->db->getLastId()之后order.php。我想将代码放在两个地方。OCMOD按照指示放置代码,但它也会第三次添加代码并将其放置在随机位置。

<file path="catalog/model/checkout/order.php">
<operation>
<search trim="true" index="0">
<![CDATA[
$order_product_id = $this->db->getLastId();
]]>
</search>
<add position="after">
<![CDATA[
if($product['variation_detail_id']){
$this->db->query("INSERT INTO `oc_order_variation`( `order_id`, `order_product_id`, `product_variation_detail_id`) VALUES (".(int)$order_id.",".(int)$order_product_id.",".(int)$product['variation_detail_id'].")");
}
]]>
</add>
</operation>
</file>

我也尝试使用偏移量,但它忽略了第一次出现并将代码仅放在第二次出现中。 有没有办法在两个地方添加代码?

请尝试如下

"索引=0,1,2">

我希望它能解决你的问题。

在这里,您无需为此添加index="0"。 请尝试以下代码。

<file path="catalog/model/checkout/order.php">
<operation>
<search trim="true">
<![CDATA[
$order_product_id = $this->db->getLastId();
]]>
</search>
<add position="after">
<![CDATA[
if($product['variation_detail_id']){
$this->db->query("INSERT INTO `oc_order_variation`( `order_id`, `order_product_id`, `product_variation_detail_id`) VALUES (".(int)$order_id.",".(int)$order_product_id.",".(int)$product['variation_detail_id'].")");
}
]]>
</add>
</operation>
</file>

您可以在此处找到OCMOD官方文档

最新更新