tulik/invoicing-plugin

Sylius 的发票插件。

安装: 16

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分支: 82

类型:sylius-plugin

v0.14.0 2021-03-18 07:14 UTC

README

发票插件

此插件创建与订单相关的发票。

SyliusInvoicingPlugin 在订单处于给定状态(默认为创建状态)时创建新的不可变发票,并允许客户和管理员下载与订单相关的发票。

Screenshot showing invoice Screenshot showing invoice browsing page in administration panel

商业价值

Invoicing Plugin 的主要目的是创建一个代表客户购买特定产品并付款意愿的文件。

发票也可以被视为下单的证据。因此,它作为 .pdf 文件下载,可以通过管理员手动发送给客户或一旦订单付款后自动发送。

插件满足发票领域的附加功能是能够在卖家上设置账单数据。

安装

  1. 需要使用 composer 的插件

    composer require sylius/invoicing-plugin

    请记住,使用 composer config extra.symfony.allow-contrib true 或在插件安装过程中允许社区食谱

  2. 应用数据库迁移

    bin/console doctrine:migrations:migrate
  3. 检查您是否有 wkhtmltopdf 二进制文件。如果没有,您可以在这里下载它 here

如果 wkhtmltopdf 不位于 /usr/local/bin/wkhtmltopdf,请在您的应用程序的 config.yml 文件末尾添加以下片段

knp_snappy:
    pdf:
        enabled: true
        binary: /usr/local/bin/wkhtmltopdf # Change this! :)
        options: []
  1. 如果您想为插件安装前放置的订单生成发票,请在您的终端运行以下命令
bin/console sylius-invoicing:generate-invoices

警告!

此安装说明假设您正在使用 Symfony Flex。如果您不使用它,请查看 传统安装说明。然而,我们强烈建议您使用 Symfony Flex,它要快得多! :)

扩展点

SyliusInvoicingPlugin 中包含的大多数操作是在向 winzou_state_machine 发送订单状态变更事件后执行的。

以下是一个示例

winzou_state_machine:
    sylius_payment:
        callbacks:
            after:
                sylius_invoicing_plugin_payment_complete_producer:
                    on: ['complete']
                    do: ['@sylius_invoicing_plugin.event_producer.order_payment_paid', '__invoke']
                    args: ['object']

上面的代码是配置文件中的部分,位于 config.yml 文件中。您可以通过添加新的状态机事件监听器或编辑现有的监听器来自定义此文件。

除此之外,发票模型被视为资源。

您可以在以下位置了解更多关于资源的信息

http://docs.sylius.com/en/latest/components_and_bundles/bundles/SyliusResourceBundle/index.html.

因此,显示发票列表的模板在 routing.yml 文件中定义

sylius_invoicing_plugin_invoice:
    resource: |
        alias: sylius_invoicing_plugin.invoice
        section: admin
        templates: "@SyliusAdmin\\Crud"
        only: ['index']
        grid: sylius_invoicing_plugin_invoice
        permission: true
        vars:
            all:
                subheader: sylius_invoicing_plugin.ui.manage_invoices
            index:
                icon: inbox
    type: sylius.resource

还可以替换和自定义显示订单查看视图上的发票列表。负责显示与订单相关的发票的代码通过 Sonata 事件注入到现有的 Sylius 模板中。您可以在以下位置了解如何通过事件自定义模板

http://docs.sylius.com/en/latest/customization/template.html

Invoicing Plugin 使用特定模式渲染发票网格,包括显示发票已发行的渠道旁边的点。点的颜色取决于在渠道实体上定义的属性,如果没有提供,则取决于名为 default_channel_color 的全局参数。

与任何其他参数一样,default_channel_color 也可以在您的 config.yml 文件中重写。

固定值

您可以将 ShopBillingData 固定值添加到 yaml 中,以便将渠道 ShopBillingData 信息添加到您的安装中。有关固定值配置说明的更多说明,请参阅 fixtures 配置说明

安全问题

如果您认为您发现了安全问题,请不要使用问题跟踪器并在公共论坛上发布它。相反,所有安全问题都必须发送到 security@sylius.com