php – 从Magento的发票pdf中删除送货方式和付款方式
发布时间:2020-12-13 16:56:28 所属栏目:PHP教程 来源:网络整理
导读:我想从Magento的发票pdf中完全删除运输方法和付款方式部分. 我的发票pdf如下所示: 我查看app / code / core / mage / Sales / Model / Order / Pdf / Abstract.php文件,这里我可以更改标签,但我无法更改表格(框). 请帮我.. 解决方法 在这里我可以更改app /
我想从Magento的发票pdf中完全删除运输方法和付款方式部分.
我的发票pdf如下所示: 我查看app / code / core / mage / Sales / Model / Order / Pdf / Abstract.php文件,这里我可以更改标签,但我无法更改表格(框). 请帮我.. 解决方法
在这里我可以更改app / code / core / mage / Sales / Model / Order / Pdf / Abstract.php文件,替换下面的代码,
protected function insertOrder(&$page,$obj,$putOrderId = true) { if ($obj instanceof Mage_Sales_Model_Order) { $shipment = null; $order = $obj; } elseif ($obj instanceof Mage_Sales_Model_Order_Shipment) { $shipment = $obj; $order = $shipment->getOrder(); } $this->y = $this->y ? $this->y : 815; $top = $this->y; $page->setFillColor(new Zend_Pdf_Color_GrayScale(0.45)); $page->setLineColor(new Zend_Pdf_Color_GrayScale(0.45)); $page->drawRectangle(25,$top,570,$top - 55); $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $this->setDocHeaderCoordinates(array(25,$top - 55)); $this->_setFontRegular($page,10); if ($putOrderId) { $page->drawText( Mage::helper('sales')->__('Order # ') . $order->getRealOrderId(),35,($top -= 30),'UTF-8' ); } $page->drawText( Mage::helper('sales')->__('Order Date: ') . Mage::helper('core')->formatDate( $order->getCreatedAtStoreDate(),'medium',false ),($top -= 15),'UTF-8' ); $top -= 10; $page->setFillColor(new Zend_Pdf_Color_Rgb(0.93,0.92,0.92)); $page->setLineColor(new Zend_Pdf_Color_GrayScale(0.5)); $page->setLineWidth(0.5); $page->drawRectangle(25,275,($top - 25)); $page->drawRectangle(275,($top - 25)); /* Calculate blocks info */ /* Billing Address */ $billingAddress = $this->_formatAddress($order->getBillingAddress()->format('pdf')); /* Payment */ $paymentInfo = Mage::helper('payment')->getInfoBlock($order->getPayment()) ->setIsSecureMode(true) ->toPdf(); $paymentInfo = htmlspecialchars_decode($paymentInfo,ENT_QUOTES); $payment = explode('{{pdf_row_separator}}',$paymentInfo); foreach ($payment as $key=>$value){ if (strip_tags(trim($value)) == '') { unset($payment[$key]); } } reset($payment); /* Shipping Address and Method */ if (!$order->getIsVirtual()) { /* Shipping Address */ $shippingAddress = $this->_formatAddress($order->getShippingAddress()->format('pdf')); $shippingMethod = $order->getShippingDescription(); } $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $this->_setFontBold($page,12); $page->drawText(Mage::helper('sales')->__('Sold to:'),($top - 15),'UTF-8'); if (!$order->getIsVirtual()) { $page->drawText(Mage::helper('sales')->__('Ship to:'),285,'UTF-8'); } $addressesHeight = $this->_calcAddressHeight($billingAddress); if (isset($shippingAddress)) { $addressesHeight = max($addressesHeight,$this->_calcAddressHeight($shippingAddress)); } $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $page->drawRectangle(25,($top - 25),$top - 33 - $addressesHeight); $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $this->_setFontRegular($page,10); $this->y = $top - 40; $addressesStartY = $this->y; foreach ($billingAddress as $value){ if ($value !== '') { $text = array(); foreach (Mage::helper('core/string')->str_split($value,45,true,true) as $_value) { $text[] = $_value; } foreach ($text as $part) { $page->drawText(strip_tags(ltrim($part)),$this->y,'UTF-8'); $this->y -= 15; } } } $addressesEndY = $this->y; if (!$order->getIsVirtual()) { $this->y = $addressesStartY; foreach ($shippingAddress as $value){ if ($value!=='') { $text = array(); foreach (Mage::helper('core/string')->str_split($value,true) as $_value) { $text[] = $_value; } foreach ($text as $part) { $page->drawText(strip_tags(ltrim($part)),'UTF-8'); $this->y -= 15; } } } $addressesEndY = min($addressesEndY,$this->y); $this->y = $addressesEndY; // $page->setFillColor(new Zend_Pdf_Color_Rgb(0.93,0.92)); // $page->setLineWidth(0.5); // $page->drawRectangle(25,$this->y-25); // $page->drawRectangle(275,$this->y-25); $this->y -= 15; $this->_setFontBold($page,12); $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); // $page->drawText(Mage::helper('sales')->__('Payment Method'),'UTF-8'); // $page->drawText(Mage::helper('sales')->__('Shipping Method:'),'UTF-8'); $this->y -=10; $page->setFillColor(new Zend_Pdf_Color_GrayScale(1)); $this->_setFontRegular($page,10); $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); $paymentLeft = 35; $yPayments = $this->y - 15; } else { $yPayments = $addressesStartY; $paymentLeft = 285; } // foreach ($payment as $value){ // if (trim($value) != '') { // //Printing "Payment Method" lines // $value = preg_replace('/<br[^>]*>/i',"n",$value); // foreach (Mage::helper('core/string')->str_split($value,true) as $_value) { // $page->drawText(strip_tags(trim($_value)),$paymentLeft,$yPayments,'UTF-8'); // $yPayments -= 15; // } // } // } if ($order->getIsVirtual()) { // replacement of Shipments-Payments rectangle block $yPayments = min($addressesEndY,$yPayments); $page->drawLine(25,25,$yPayments); $page->drawLine(570,$yPayments); $this->y = $yPayments - 15; // } else { $topMargin = 15; $methodStartY = $this->y; $this->y -= 15; // foreach (Mage::helper('core/string')->str_split($shippingMethod,true) as $_value) { // $page->drawText(strip_tags(trim($_value)),'UTF-8'); // $this->y -= 15; // } $yShipments = $this->y; // $totalShippingChargesText = "(" . Mage::helper('sales')->__('Total Shipping Charges') . " " // . $order->formatPriceTxt($order->getShippingAmount()) . ")"; // $page->drawText($totalShippingChargesText,$yShipments - $topMargin,'UTF-8'); // $yShipments -= $topMargin + 10; // $tracks = array(); // if ($shipment) { // $tracks = $shipment->getAllTracks(); // } // if (count($tracks)) { // $page->setFillColor(new Zend_Pdf_Color_Rgb(0.93,0.92)); // $page->setLineWidth(0.5); // $page->drawRectangle(285,$yShipments,510,$yShipments - 10); // $page->drawLine(400,400,$yShipments - 10); // //$page->drawLine(510,$yShipments - 10); // $this->_setFontRegular($page,9); // $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); // //$page->drawText(Mage::helper('sales')->__('Carrier'),290,$yShipments - 7,'UTF-8'); // $page->drawText(Mage::helper('sales')->__('Title'),'UTF-8'); // $page->drawText(Mage::helper('sales')->__('Number'),410,'UTF-8'); // $yShipments -= 20; // $this->_setFontRegular($page,8); // foreach ($tracks as $track) { // $CarrierCode = $track->getCarrierCode(); // if ($CarrierCode != 'custom') { // $carrier = Mage::getSingleton('shipping/config')->getCarrierInstance($CarrierCode); // $carrierTitle = $carrier->getConfigData('title'); // } else { // $carrierTitle = Mage::helper('sales')->__('Custom Value'); // } // //$truncatedCarrierTitle = substr($carrierTitle,35) . (strlen($carrierTitle) > 35 ? '...' : ''); // $maxTitleLen = 45; // $endOfTitle = strlen($track->getTitle()) > $maxTitleLen ? '...' : ''; // $truncatedTitle = substr($track->getTitle(),$maxTitleLen) . $endOfTitle; // //$page->drawText($truncatedCarrierTitle,'UTF-8'); // $page->drawText($truncatedTitle,292,'UTF-8'); // $page->drawText($track->getNumber(),'UTF-8'); // $yShipments -= $topMargin - 5; // } // } else { // $yShipments -= $topMargin - 5; // } $currentY = min($yPayments,$yShipments); // replacement of Shipments-Payments rectangle block $page->drawLine(25,$methodStartY,$currentY); //left $page->drawLine(25,$currentY,$currentY); //bottom $page->drawLine(570,$methodStartY); //right $this->y = $currentY; $this->y -= 15; } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |