我在Opencart 2.0x网站上使用Option to Product扩展程序。这一切都按预期工作。我想在选项选择框中有选项的库存可用性。例如:
当前:
蓝
红
橙
我想要的是什么:
蓝色(有货)
红色(有货)
橙色(缺货)
像上面这样的东西。因此,我需要获取库存文本或数量,然后根据数量手动添加文本。
我尝试将view / theme / * / template / product / product.tpl中的代码修改为:
<?php
foreach ($option['option_value'] as $option_value) {
if ($option_value['quantity'] == "0") {
$stock = "Out of Stock";
} else {
$stock = "In Stock";
}
?>
<option value="<?php echo $option_value['option_value_id']; ?>"><?php echo $option_value['name']; ?> (<?php echo $stock ?>) </option>
}
在
之后的目录/ controller / product / product.php中'option_value_id' => $option_value['option_value_id'],
我添加
'quantity' => $option_value['quantity'],
我一无所获!
我甚至试图直接访问数据库,但它不起作用 - 我不知道如何从数据库中获取我想要的值 - 我使用
$product_id = $product_id;
$option_id = $option_value['option_value_id'];
$get_otp_id = $this->db->query("SELECT id from oc_otp_option_value where product_id = $product_id AND parent_option_value_id = $option_id");
我知道我无法将其添加到产品模板页面,因为它是MVC设置但不知道如何将其添加到模型中,然后使用Controller获取数据并在View模板上显示因为我是MVC和OpenCart的菜鸟。
请帮忙 - 我会永远爱你!
由于
答案 0 :(得分:0)
这对我有用,编辑此文件:
catalog\controller\product\product.php
<强>查找强>
foreach ($option['product_option_value'] as $option_value) {
在其后添加:
$stock_text = $option_value['quantity'] > 0 ? '(In Stock)' : '(Out Of Stock)';
<强>查找强>
'name' => $option_value['name'],
替换为:
'name' => $option_value['name'] . $stock_text,
然后清除所有缓存(ocmod,vqmod,...)。
注意:如果选项值缺货,OpenCart将不会在产品页面上显示该选项,除非您选择“否”来减去库存。