如何自定义Sylius InvoicingPlugin的PDF发票:调整布局、Logo及颜色?
Sylius InvoicingPlugin PDF发票自定义操作步骤
调整买卖双方信息位置
Sylius插件的PDF发票基于Twig模板生成,通过模板覆盖修改布局:
- 定位供应商InvoicingPlugin中的发票详情模板,常规路径为
vendor/[供应商包名]/invoicing-plugin/src/Resources/views/Invoice/_details.html.twig(官方插件路径为vendor/sylius/invoicing-plugin/src/Resources/views/Invoice/_details.html.twig) - 在项目目录下创建对应覆盖路径:
templates/bundles/SyliusInvoicingPlugin/Invoice/(将SyliusInvoicingPlugin替换为供应商插件的Bundle名称) - 复制原模板内容到新文件,直接调整买卖双方信息的HTML结构——比如交换
<div class="seller-info">和<div class="buyer-info">的代码块,或修改容器的排版样式
更换发票Logo
有两种实现方式:
方式1:直接修改模板引用
- 在覆盖后的发票头部模板(如
_header.html.twig)中找到Logo的img标签,原代码类似:<img src="{{ asset('bundles/syliusinvoicingplugin/images/logo.png') }}" alt="Invoice Logo"> - 将
asset()内的路径替换为项目自定义Logo的路径,比如{{ asset('images/your-custom-logo.png') }},确保Logo文件已上传至public/images/目录
方式2:配置参数(部分插件支持)
若供应商插件提供配置项,在config/packages/sylius_invoicing.yaml中添加:
sylius_invoicing: logo_path: 'images/your-custom-logo.png'
修改发票颜色
通过自定义CSS覆盖原有样式:
- 在覆盖后的发票主模板(如
show.html.twig)中添加内联样式标签,针对目标元素修改颜色属性,示例:<style> /* 修改发票头部背景色 */ .invoice-header { background-color: #2c3e50; } /* 修改表格表头颜色 */ .invoice-table thead th { background-color: #34495e; color: #ffffff; } /* 修改总计金额强调色 */ .invoice-total .amount { color: #e74c3c; } </style> - 若插件使用独立CSS文件,可在
public/bundles/[插件Bundle名]/css/目录下创建同名CSS文件,替换或添加自定义样式规则
生效验证
修改完成后执行缓存清除命令:
php bin/console cache:clear
生成新的PDF发票,检查布局、Logo和颜色是否符合预期
内容的提问来源于stack exchange,提问作者MANAHIRA Tsilivany Nirina
相关产品推荐
相关产品推荐

