Magento Checkout 计算与属性匹配的产品的重量

标签 magento count checkout

我需要计算结账时有多少特定类型的产品。但仅限(!)特定类型的产品。该类型在下拉属性中定义。

这是一个计算重量的代码,效果很好。 \template\checkout\cart.phtml

<?php $items = Mage::getSingleton('checkout/session')->getQuote()->getAllItems();
$weight = 0;
foreach($items as $item) {
    $weight += ($item->getWeight() * $item->getQty()) ;
}
echo $weight;
?>

但是如何只统计具有特定属性值的产品呢?

喜欢 =>“仅计算属性颜色=绿色的产品”

我发现了很多关于收集和过滤器的信息,但它似乎不适用于购物车项目。

希望你能帮助我。

最佳答案

您必须在循环时加载产品模型(昂贵),然后您才能像这样调用它的属性:

foreach( $oItems as $oItem )
{
    $oProduct = $oItem->getProduct();
    $oProductModel = Mage::getModel( 'catalog/product' )->load( $oProduct->getId() );
    // For code...
    $sColor   = $oProductModel->getData( 'color' );
    var_dump( $sColor );
    // For text...
    $sFormat  = $oProductModel->getAttributeText( 'color' );
    var_dump( $sFormat );
}

关于Magento Checkout 计算与属性匹配的产品的重量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29060847/

相关文章:

php - Magento CMS : Configurable Products -> Images

mysql - 我的sql字段总和使用另一个字段来区分然后排序

magento - 请勿将运费包含在购物车中显示的总成本中

计算 float (hw) C

c# - 为用户锁定 asp.net 中的页面

php - 在 Woocommerce 中将结帐国家/地区下拉菜单设置为只读

css - Magento 上的 Mega Menu 问题

mysql - Magento MySQL 数据库库存更新

php - 如何在magento中创建属性

mysql - 如何进行快速但不准确的 InnoDB 行数?