【发布时间】:2015-08-21 14:51:55
【问题描述】:
我是 Joomla 和 VirtueMart 的新手。我被困在“相关产品”列表部分。由于可以从 VirtueMart 管理面板手动添加相关产品,因此我想在前端显示时为这些产品提供一些过滤器或条件(如产品在售罄时不应显示等)。请有人建议我一条出路或告诉我满足我需要的文件。非常感谢提前
【问题讨论】:
标签: joomla joomla2.5 virtuemart
我是 Joomla 和 VirtueMart 的新手。我被困在“相关产品”列表部分。由于可以从 VirtueMart 管理面板手动添加相关产品,因此我想在前端显示时为这些产品提供一些过滤器或条件(如产品在售罄时不应显示等)。请有人建议我一条出路或告诉我满足我需要的文件。非常感谢提前
【问题讨论】:
标签: joomla joomla2.5 virtuemart
查看VM 2.6.14版本的文件,相关产品的查看文件在:components/com_virtuemart/views/productdetails/tmpl/default_relatedproducts.php。
显示代码为:
if(!empty($field->display)) {
?><div class="product-field product-field-type-<?php echo $field->field_type ?>">
<span class="product-field-display"><?php echo $field->display ?></span>
</div>
<?php }
}
检查产品库存需要做的调整是:
$productModel = VmModel::getModel('Product');
$this_product = $productModel->getProduct($field->customfield_value, true, false);
if(!empty($field->display) && !empty($this_product->product_in_stock)) {
?><div class="product-field product-field-type-<?php echo $field->field_type ?>">
<span class="product-field-display"><?php echo $field->display ?></span>
</div>
<?php }
}
请记住创建一个模板覆盖,以确保它不会在未来的更新中被覆盖。您应该将修改后的文件放在:templates/*your_template/html/com_virtuemart/productdetails/default_relatedproducts.php。
至于 Virtuemart 3 相关产品合并在 customfields 模板中,可以位于:components/com_virtuemart/sublayouts/customfields.php。
所以这部分应该调整一下:
if (!empty($field->display)){
?><div class="product-field-display"><?php echo $field->display ?></div><?php
}
收件人:
if($field->field_type == "R"){
$productModel = VmModel::getModel('Product');
$this_product = $productModel->getProduct($field->customfield_value, true, false);
if (!empty($field->display) && !empty($this_product->product_in_stock)){
?><div class="product-field-display"><?php echo $field->display ?></div><?php
}
} elseif (!empty($field->display)){
?><div class="product-field-display"><?php echo $field->display ?></div><?php
}
在这种情况下,覆盖的文件必须放在:templates/*your_template/html/com_virtuemart/sublayouts/customfields.php。
【讨论】: