Version: 3
🔥 Gravity PDF v3 end of life was 2017-06-20 and this version is no longer supported. This legacy documentation is kept for reference only.
Accessing Product Data
We've made it easy to access product data in custom templates. You can choose to output the standard product table, or utilise the $form_data['products']
array to have granular control over its display.
Product Data
The$form_data
array contains two unique keys for access product information: $form_data['products']
and $form_data['products_totals']
. The code sample below is what your product data may look like:[products] => Array
(
[1] => Array
(
[name] => Product Name
[price] => $10.00
[price_unformatted] => 10.00
[options] => Array
(
[0] => Array
(
[field_label] => Option
[option_name] => First Option
[option_label] => Option: First Option
[price] => 20
[price_formatted] => $20.00
)
[1] => Array
(
[field_label] => Option
[option_name] => Second Option
[option_label] => Option: Second Option
[price] => 30
[price_formatted] => $30.00
)
)
[quantity] => 5
[subtotal] => 300
[subtotal_formatted] => $300.00
)
)
[products_totals] => Array
(
[subtotal] => 300
[shipping] => 30
[total] => 330
[shipping_formatted] => $30.00
[subtotal_formatted] => $300.00
[total_formatted] => $330.00
)
And here's an example of how to access the product information in your custom template:
<?php echo $form_data['products'][1]['name']; ?>
<?php
/* loop through all products */
foreach($form_data['products'] as $product) {
?>
<?php echo $product['name']; ?>
<?php echo $product['price']; ?>
<?php echo $product['quantity']; ?>
<?php echo $product['subtotal_formatted']; ?>
<br>
<?php
/* Inner loop to loop through options field */
foreach($product['options'] as $option) {
?>
<?php echo $option['field_label']; ?>
<?php echo $option['option_name']; ?>
<?php echo $option['option_label']; ?>
<?php echo $option['price_formatted']; ?>
<br>
<?php } /* close option loop */ ?>
?>
<?php } /* close foreach loop */ ?>
<?php echo $form_data['products_totals']['shipping_formatted']; ?>
<?php echo $form_data['products_totals']['subtotal_formatted']; ?>
<?php echo $form_data['products_totals']['total_formatted']; ?>
Product Table
You can add the product table to your custom template by simply adding the following line:GFPDFEntryDetail::product_table($form, $lead);