2017-07-27 1 views
-1

こんにちは私はすでに以下のhttp://prntscr.com/g0tyowを保護して来ているinvoice.phpページhttp://prntscr.com/g0tyje
increment idを取得しようとしていますMagentoのissuue /魔道士/販売/モデル/オーダー/ PDF/invoice.php

私はこの問題を解決するのに役立ちます増分IDを取得するために保護された方法で使用することができますおかげで前もってありがとうございます。

$orderId   = '100000006';  
$order   = Mage::getModel('sales/order')->loadByIncrementId($orderId); 
$shippingAddress = $order->getShippingAddress();  
$vikk   = $shippingAddress['postcode'];  
if($vikk == 110028){ 
    $lines[0][] = array('text' => Mage::helper('sales')->__('Tax(CGST)'), 'feed' => 495, 'align' => 'right'); 
    } else { 
    $lines[0][] = array('text' => Mage::helper('sales')->__('Tax(IGST)'), 'feed' => 495, 'align' => 'right'); 
    } 
+0

トンとあなたのコードを投稿してください。あなたの質問には、画像としてではなく[編集]してください。これにより、コードへのアクセスに役立つように、あなたを助けてくれる誰かのチャンスが大幅に減ります。そして、私を信じてください:誰も画像のコードを入力します;) – geisterfurz007

+0

私は請求書を変更する必要があります郵便番号に基づいて税の名前を変更する静的な値の代わりに動的にここでIDを取得したいhttp://prntscr.com/g0u1oc –

+0

$ orderId = '100000006'; $ order = Mage :: getModel( 'sales/order') - > loadByIncrementId($ orderId); $ shippingAddress = $ order-> getShippingAddress(); $ vikk = $ shippingAddress ['postcode']; if($ vikk == 110028){ $ lines [0] [] = array( 'text' => Mage :: helper( 'sales') - > __( 'Tax(CGST)')、 'フィード '=> 495、 '整列 '=>'右 ' );他 } { $行[0] [] =配列( 'テキスト' =>メイジ::ヘルパー( '販売') - > __( '税(IGST)')、 'フィード' => 'align' => 'right' ); } –

答えて

0

は、私はあなたがモジュールを作成することで、このファイルを上書きする必要がありますが、ファイルapp/code/core/Mage/Sales/Model/Order/Pdf/Invoice.php

を編集していると仮定し、私はあなたのためにこれを作成している、あなたは自分のMagentoのインストールにこれらのファイルをコピーする必要があります。また、あなたがあなたのコードを追加する必要があります、私はちょうど/

アプリの/ etc /モジュール/ Vikash_Pdf.xml

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Vikash_Pdf> 
      <active>true</active> 
      <codePool>local</codePool> 
      <depends> 
       <Mage_Sales/> 

      </depends> 
     </Vikash_Pdf> 
    </modules> 
</config> 

アプリ/コード/ローカル/ Vikashあなたの関数に変数$ incrementIdが利用可能になりましたPDFファイルは/ etc/config.xmlに

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Vikash_Pdf> 
      <version>0.1.0</version> 
     </Vikash_Pdf> 
    </modules> 
    <global> 
     <models> 
      <sales> 
       <rewrite> 
        <order_pdf_invoice>Vikash_Pdf_Model_Order_Pdf_Invoice</order_pdf_invoice> 
       </rewrite> 
      </sales> 
     </models> 
    </global> 
</config> 

アプリ/コード/ローカル/ Vikash/PDF /モデル/発注/ PDF/Invoice.php

<?php 
class Vikash_Pdf_Model_Order_Pdf_Invoice extends Mage_Sales_Model_Order_Pdf_Invoice 
{ 
    /** 
    * Draw header for item table 
    * 
    * @param Zend_Pdf_Page $page 
    * @return void 
    */ 
    protected function _drawHeader(Zend_Pdf_Page $page, $incrementId = null) 
    { 
     if($incrementId){ 
      var_dump($incrementId);die; 
     } 
     /* Add table head */ 
     $this->_setFontRegular($page, 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, $this->y, 570, $this->y -15); 
     $this->y -= 10; 
     $page->setFillColor(new Zend_Pdf_Color_RGB(0, 0, 0)); 

     //columns headers 
     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('Products'), 
      'feed' => 35 
     ); 

     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('SKU'), 
      'feed' => 290, 
      'align' => 'right' 
     ); 

     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('Qty'), 
      'feed' => 435, 
      'align' => 'right' 
     ); 

     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('Price'), 
      'feed' => 360, 
      'align' => 'right' 
     ); 

     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('Tax'), 
      'feed' => 495, 
      'align' => 'right' 
     ); 

     $lines[0][] = array(
      'text' => Mage::helper('sales')->__('Subtotal'), 
      'feed' => 565, 
      'align' => 'right' 
     ); 

     $lineBlock = array(
      'lines' => $lines, 
      'height' => 5 
     ); 

     $this->drawLineBlocks($page, array($lineBlock), array('table_header' => true)); 
     $page->setFillColor(new Zend_Pdf_Color_GrayScale(0)); 
     $this->y -= 20; 
    } 

    /** 
    * Return PDF document 
    * 
    * @param array $invoices 
    * @return Zend_Pdf 
    */ 
    public function getPdf($invoices = array()) 
    { 
     $this->_beforeGetPdf(); 
     $this->_initRenderer('invoice'); 

     $pdf = new Zend_Pdf(); 
     $this->_setPdf($pdf); 
     $style = new Zend_Pdf_Style(); 
     $this->_setFontBold($style, 10); 

     foreach ($invoices as $invoice) { 
      $incrementId = $invoice->getIncrementId(); 
      if ($invoice->getStoreId()) { 
       Mage::app()->getLocale()->emulate($invoice->getStoreId()); 
       Mage::app()->setCurrentStore($invoice->getStoreId()); 
      } 
      $page = $this->newPage(); 
      $order = $invoice->getOrder(); 
      /* Add image */ 
      $this->insertLogo($page, $invoice->getStore()); 
      /* Add address */ 
      $this->insertAddress($page, $invoice->getStore()); 
      /* Add head */ 
      $this->insertOrder(
       $page, 
       $order, 
       Mage::getStoreConfigFlag(self::XML_PATH_SALES_PDF_INVOICE_PUT_ORDER_ID, $order->getStoreId()) 
      ); 
      /* Add document text and number */ 
      $this->insertDocumentNumber(
       $page, 
       Mage::helper('sales')->__('Invoice # ') . $incrementId 
      ); 
      /* Add table */ 
      $this->_drawHeader($page, $incrementId); 
      /* Add body */ 
      foreach ($invoice->getAllItems() as $item){ 
       if ($item->getOrderItem()->getParentItem()) { 
        continue; 
       } 
       /* Draw item */ 
       $this->_drawItem($item, $page, $order); 
       $page = end($pdf->pages); 
      } 
      /* Add totals */ 
      $this->insertTotals($page, $invoice); 
      if ($invoice->getStoreId()) { 
       Mage::app()->getLocale()->revert(); 
      } 
     } 
     $this->_afterGetPdf(); 
     return $pdf; 
    } 

    /** 
    * Create new page and assign to PDF object 
    * 
    * @param array $settings 
    * @return Zend_Pdf_Page 
    */ 
    public function newPage(array $settings = array(), $incrementId = null) 
    { 
     /* Add new table head */ 
     $page = $this->_getPdf()->newPage(Zend_Pdf_Page::SIZE_A4); 
     $this->_getPdf()->pages[] = $page; 
     $this->y = 800; 
     if (!empty($settings['table_header'])) { 
      $this->_drawHeader($page, $incrementId); 
     } 
     return $page; 
    } 
} 
関連する問題