behappy / invoice-plugin
用于在Sylius中生成发票的插件
Requires
- php: ^7.1
- behappy/company-data-plugin: ^1.0.1
- knplabs/knp-snappy-bundle: ^1.5
- sylius/sylius: ^1.1
Requires (Dev)
- behat/behat: ^3.3
- behat/mink: ^1.7
- behat/mink-browserkit-driver: ^1.3
- behat/mink-extension: ^2.2
- behat/mink-selenium2-driver: ^1.3
- friends-of-behat/context-service-extension: ^1.0
- friends-of-behat/cross-container-extension: ^1.0
- friends-of-behat/service-container-extension: ^1.0
- friends-of-behat/symfony-extension: ^1.0
- friends-of-behat/variadic-extension: ^1.0
- lakion/mink-debug-extension: ^1.2.3
- phpspec/phpspec: ^3.2
- phpstan/phpstan-shim: ^0.9.2
- phpunit/phpunit: ^6.5
- se/selenium-server-standalone: ^2.52
- sylius-labs/coding-standard: ^1.0
- symplify/easy-coding-standard: ^2.4
This package is not auto-updated.
Last update: 2022-02-01 13:10:19 UTC
README
Sylius生成发票插件
安装过程
$ composer require behappy/invoice-plugin
信息
此插件使用Knp Snappy Bundle。请参阅其文档了解wkhtmltopdf安装(https://github.com/KnpLabs/snappy)
启用插件
在AppKernel中启用以下插件
// in app/AppKernel.php public function registerBundles() { $bundles = array( // ... new Knp\Bundle\SnappyBundle\KnpSnappyBundle(), new \BeHappy\SyliusCompanyDataPlugin\BeHappySyliusCompanyDataPlugin(), new \BeHappy\SyliusInvoicePlugin\BeHappySyliusInvoicePlugin(), ); // ... }
#in app/config/config.yml imports: ... - { resource: "@BeHappySyliusCompanyDataPlugin/Resources/config/config.yml" } - { resource: "@BeHappySyliusInvoicePlugin/Resources/config/config.yml" } ...
# in routing.yml ... behappy_company_data_plugin: resource: '@BeHappySyliusCompanyDataPlugin/Resources/config/routing.yml' behappy_invoice_plugin.admin: resource: '@BeHappySyliusInvoicePlugin/Resources/config/routes/admin.yml' prefix: /admin behappy_invoice_plugin.shop: resource: '@BeHappySyliusInvoicePlugin/Resources/config/routes/shop.yml' prefix: /{_locale}/account requirements: _locale: ^[a-z]{2}(?:_[A-Z]{2})?$ ...
生成数据库
只需启动
php bin/console doctrine:schema:update --dump-sql --force
如果您在要求此插件之前没有启用它,可能存在引用BeHappySyliusCompanyDataPlugin的表
可选:生成发票
为了为之前下订单生成发票,可以运行此命令
php bin/console behappy:invoices:generate
此命令将为所有处于已履行状态且未附加发票的订单生成发票
就这样!
从现在起,每次订单履行时,事件监听器将创建一个新的发票,并将(如果需要)公司数据信息复制到单独的表中以使其静态化。
在订单的运货部分下,新块也在管理员的账户部分中显示。
在您的客户的账户部分,每个与他们的订单相关联的发票也显示了一个链接。
配置
发票号码
默认情况下,发票将以12位数字生成,用0填充(str_pad(12, '0', STR_PAD_LEFT))
您可以重定义此长度定义,如下所示
# in app/config.yml parameters: ... behappy_invoice_plugin.invoice_number.length: 14 ...
现在每个发票都将有14位长。
在未来,此插件将使用一个您可以根据需要重写的数字生成器。
事件
在发票创建过程中,会触发2个事件,以订单作为参数。
behappy_invoice_plugin.event.invoice.pre_create behappy_invoice_plugin.event.invoice.post_create
您可以为这些事件订阅并执行任何需要的操作
覆盖
要覆盖PDF模板文件,只需创建以下文件:app/Resources/BeHappySyliusInvoicePlugin/views/Invoice/pdf.html.twig
感谢
此插件部分受到BitBagCommerce/SyliusInvoicingPlugin (https://github.com/BitBagCommerce/SyliusInvoicingPlugin)的启发。
欢迎贡献力量
您也可以通过composer.json中提到的邮箱地址提出问题。
其他
您还可以在我们的其他包中(包括Sylius插件)进行检查,链接为:https://github.com/BeHappyCommunication