Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Note for customers using custom quote PDFs in versions before 2.6: ConfigBox 3 uses one template for both quote PDF download and email attachment. It is no longer necessary to override the templates for PDF download and PDF attachment. Both are now done with a single template, see below.two individual templates.

You can override the output of quotation PDFs in the same way as other templates (see Custom Templates for reference). However, templates used for PDF generation are more delicate:PDF generation imposes different limitations on how you choose to write your HTML and CSS. Here we put our best tips for smooth development.

  • The produced HTML and CSS needs to adhere strictly to HTML 1.1 strict and CSS level 3 .- or higher

  • As per domPDF documentation , states that CSS floats are supported, but do it does not work reliably. Best to use tables for layout.

  • Nested tables (<table> within a <table>) may give bad results, at least as soon as tables span across pagesbest be avoided - page splitting works properly only when you avoid this.

  • For images, set width and height dimensions. Layout flows do not then work reliably without it.

  • In case your customizations have led to a sizeable custom CSS file (say more than 2kB), consider creating a separate stylesheet for the quotation PDF for performance reasons (set the URL to that stylesheet in the <head> block of the template).

  • Since ConfigBox 2.6.26 we moved the header/footer PHP to a separate template file (header_footer) for easier customization. If you override something and don’t need changes to the header/footer, simply don’t copy the header_footer.php template to your customization folder. The system will load the original template for the header/footer then.

  • Mind that if you want to adjust page margins, set margins on the <body> tag and use a CSS class to refer to the <body> tag.

Location of the original template:
Joomla: /components/com_configbox/views/quotation/tmpl/default.php
Wordpress: /wp-content/plugins/configbox/app/views/quotation/tmpl/default.php

...

The template uses the output of other views (namely ‘record’ and ‘positions’. If you need to alter this part of the quotation PDF, you can make overrides of these templates, but be mindful about the fact that these views are used elsewhere (admin order page, user order page, checkout page and possible possibly more in the future). Alternatively, invent a system that gives you different HTML for the PDF and website.