Скачать адрес клиента в формате PDF по кнопке onclick


Я отобразил кнопку Загрузить [последний столбец на изображении ниже] на странице продаж Сетка заказов для каждого заказа. Как только я нажму на кнопку, я хочу создать pdf-файл с информацией " Адрес клиента" этого заказа.

enter image description here

Я проверил Firegento & comwrap, но оба будут генерировать только счета-фактуры, доставку, только кредитные авизо.

Приложение/код/сообщество/Raveinfosys/Удалить заказ/Заблокировать/Adminhtml/Продажи/Заказ/Визуализация - Delete.php

class Raveinfosys_Deleteorder_Block_Adminhtml_Sales_Order_Render_Delete extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    public function render(Varien_Object $row)
    {
        $getData = $row->getData();     
        $orderID = $getData['entity_id'];      
        $link = '<a href="'.$download.'">Download</a>;';
        return $link;
    }
}

Пожалуйста, объясните мне это....

Author: Baby in Magento, 2017-11-24

1 answers

Попробуйте это:

A. приложение/код/сообщество/Raveinfosys/Удалить заказ/Заблокировать/Adminhtml/Продажи/Заказ/Визуализация - Delete.php

class Raveinfosys_Deleteorder_Block_Adminhtml_Sales_Order_Render_Delete extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract
{
    public function render(Varien_Object $row)
    {
        $getData = $row->getData();     
        $orderId = $getData['entity_id'];      
        $link = '<a href="'.$this->getPdfGenerateUrl($orderId).'">Download</a>;';
        return $link;
    }


    public function getPdfGenerateUrl($orderId)
    {
        return Mage::helper("adminhtml")->getUrl('*/raveinfosys/generatePdf', array('order_id' => $orderId));
    }

}

В. Теперь создайте файл с именем RaveinfosysController.php: app/code/community/Raveinfosys/Deleteorder/controllers/Adminhtml/RaveinfosysController.php с этим содержанием:

<?php
class Raveinfosys_Deleteorder_Adminhtml_RaveinfosysController extends Mage_Adminhtml_Controller_Action
{

    public function generatePdfAction()
    {
        $orderId = $this->getRequest()->getParam('order_id');
        $order = Mage::getModel('sales/order')->load($orderId);
        $billingAddress = $order->getBillingAddress();

        $pdf = new Zend_Pdf();
        $page = new Zend_Pdf_Page(Zend_Pdf_Page::SIZE_A4);
        $font = Zend_Pdf_Font::fontWithName(Zend_Pdf_Font::FONT_TIMES);
        $page->setFont($font, 12);
        $width = $page->getWidth();
        $i=0;

        $page->drawText('Order Id# '.$order->getIncrementId(), 20, $page->getHeight()-20);
        $page->drawText("TO", 20, $page->getHeight()-40);
        $page->drawText($billingAddress->getStreet(). " ". $billingAddress->getRegion(), 20, $page->getHeight()-60);
        $page->drawText($billingAddress->getCountry(), 20, $page->getHeight()-80);
        $page->drawText($billingAddress->getRegionCode(), 20, $page->getHeight()-100);

        $pdf->pages[] = $page;
        //$pdf->render();

        $this->_prepareDownloadResponse('info'.Mage::getSingleton('core/date')->date('Y-m-d_H-i-s').
                '.pdf', $pdf->render(), 'application/pdf');

        //$this->_redirectReferer();
    }

}

Это должно сработать.

 1
Author: Adarsh Khatri, 2017-11-27 09:56:12