Magento 2更改pdf文件名

时间:2018-06-05 15:03:36

标签: pdf filenames magento2

我想更改Magento 2中PDF文件的文件名。

默认名称不明确,我希望将发票保存到我电脑上的某个位置时可以搜索。

是否可以将Magento 2中PDF文件的文件名更改为“invoice_1000000123.pdf”之类的格式?

3 个答案:

答案 0 :(得分:0)

您应该从不编辑核心文件。说真的,不要。

由于/vendor/magento/module-sales/Controller/Adminhtml/Invoice/AbstractInvoice/PrintAction.php是一个抽象类,因此您必须在模块中使用插件或首选项才能覆盖它。

您需要达到的目标:

通常的最小文件数: /Vendor/Module/composer.json/Vendor/Module/registration.php/Vendor/Module/etc/module.xml

/Vendor/Module/etc/module.xml中,您应该对Magento_Sales进行排序

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
    <module name="Vendor_Module" setup_version="1.0.0">
        <sequence>
            <module name="Magento_Sales"/>
        </sequence>
    </module>
</config>

然后,您可以在/Vendor/Module/etc/di.xml中使用插件或首选项

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoice\PrintAction" type="Vendor\Module\Controller\Adminhtml\Invoice\AbstractInvoice\PrintAction"/>      
</config>

插件看起来像这样:

<type name="Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoice\PrintAction">
    <plugin name="Vendor_Module::aroundPrintInvoice" type="Vendor\Module\Block\Class" sortOrder="0"/>
</type>

现在将PrintAction.php添加到您的偏好设置/插件中指定的路径(偏好设置示例)

<?php
namespace Vendor\Module\Controller\Adminhtml\Invoice\AbstractInvoice;

class PrintAction extends \Magento\Sales\Controller\Adminhtml\Invoice\AbstractInvoice\PrintAction
{
    /* Write code here */
}

答案 1 :(得分:0)

您需要覆盖发票管理控制器。

image = con.recv(size)

在自定义模块管理控制器中,您需要更改Pdf文件的名称。

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
    <preference for="\Magento\Sales\Controller\Adminhtml\Order\Invoice" 
      type="Vendor\Module\Controller\Adminhtml\Order\Invoice" />
</config>

Reference Link

答案 2 :(得分:-1)

是的,可以更改发票pdf文件名。

请转到以下路径:

/vendor/magento/module-sales/Controller/Adminhtml/Invoice/AbstractInvoice/PrintAction.php

您可以从上面的文件更改文件名。