2013-02-17 101 views
0

好的,我正在运行Magento 1.7,并被我的老板要求在我们网站的顶部有一个栏,显示库存中的物品总数以及所述的总价值股票。Magento - 显示所有产品的总价

到目前为止,我已经计算出项目总数。我对PHP不太好,所以这是一个很大的尝试和错误。

这里是我的代码是什么样子至今[更新:有一个过滤器,以排除脱销产品]:

<?php 
    $collection = Mage::getModel('catalog/product')->getCollection() 
->joinField(
    'qty', 
    'cataloginventory/stock_item', 
    'qty', 
    'product_id=entity_id', 
    '{{table}}.stock_id=1', 
    'left' 
) 
->addAttributeToFilter('qty', array('eq' <= 0)); 
    $_coreHelper = $this->helper('core'); 


    $sum = 0; 

     foreach ($collection as $product){ 
    $sum += $product->getPrice(); 
    } 
?> 

As of today our inventory consists of <span style="color: black; font-size:16px; font-family: Helvetica, sans-serif; font-weight: 400; border: 1px solid black; padding: 0px 2px 0px 2px;"><?php echo $collection->count(); ?></span> items with a total value of <span style="color: black; font-size:16px; font-family: Helvetica, sans-serif; font-weight: 400; border: 1px solid black; padding: 0px 2px 0px 2px;"><?php echo $_coreHelper->currency($sum); ?></span> 

总和节显然是行不通的。

任何人都可以给我几个关于如何完成这一点的指针。我假设你会使用一个循环来加载所有的产品价格,然后把它们加在一起并显示出来,但是正确地到达那里对我来说是一个问题。

任何帮助,将不胜感激。

+0

try $ collection = Mage :: getModel('catalog/product') - > getCollection(); 但你会有所有物品,有或没有,启用或不... – dagfr 2013-02-17 00:45:08

+0

我不能添加一个过滤器,以摆脱缺货项目?我见过其他人做过类似的事情。 – nesagwa 2013-02-17 01:33:05

回答

0

是的,你可以这样:

<?php $collection = Mage::getModel('catalog/product')->getCollection()->addAttributeToFilter('status','1'); 
$sum = 0; 
$count = 0; 
foreach ($collection as $_product) { 
    $stock = Mage::getModel('cataloginventory/stock_item')->loadByProduct($_product)->getQty(); 
    if ($stock>=1) { 
     $sum+=$_product->getPrice()*$stock; 
     $count+=$stock; 
    } 
} 
echo "You have $count items for a total value of ".Mage::helper('core')->currency($sum); 
+0

不幸的是,这会导致我的主页不显示任何内容。我得到“[2013年2月18日15时09分10秒] PHP解析错误:语法错误,/ home1/melvynan/public_html/app/design/frontend/default/fly/template/catalog/category /第6行的stocktotal.phtml“在我的错误日志中。 – nesagwa 2013-02-18 15:11:20

+0

现在我得到[18-Feb-2013 16:02:24] PHP解析错误:语法错误,意外的T_VARIABLE在/ home1/melvynan/public_html/app/design/frontend/default/fly/template/catalog/category /cat_images.phtml第8行 – nesagwa 2013-02-18 22:07:43

0

我曾与上述dagfr的回答有些问题时,用getPrice()失败时,对管理仪表板执行返回的任何值,

添加:

$collection->addAttributeToSelect('price'); 

让我然后通过

$_product['price'] 
接入价格
相关问题