예제 #1
0
 /**
  * Return total list
  *
  * @param  Mage_Sales_Model_Abstract $source
  * @return array
  */
 protected function _getTotalsList($source)
 {
     $nodeName = Mage::helper('zab_billing')->getTotalConfigPath($source->getTipo());
     $totals = Mage::getConfig()->getNode($nodeName)->asArray();
     usort($totals, array($this, '_sortTotalsList'));
     $totalModels = array();
     foreach ($totals as $index => $totalInfo) {
         if (!empty($totalInfo['model'])) {
             $totalModel = Mage::getModel($totalInfo['model']);
             if ($totalModel instanceof Mage_Sales_Model_Order_Pdf_Total_Default) {
                 $totalInfo['model'] = $totalModel;
             } else {
                 Mage::throwException(Mage::helper('sales')->__('PDF total model should extend Mage_Sales_Model_Order_Pdf_Total_Default'));
             }
         } else {
             $totalModel = Mage::getModel($this->_defaultTotalModel);
         }
         $totalModel->setData($totalInfo);
         $totalModels[] = $totalModel;
     }
     return $totalModels;
 }