加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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;
        }
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读