Pdfs

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\Pdfs » yii\base\Component (opens new window) » yii\base\BaseObject (opens new window)
Implements
yii\base\Configurable (opens new window)
Since
2.0

Pdf service.

View source (opens new window)

# Public Properties

# allEnabledPdfs

Type
craft\commerce\models\Pdf[]
Default value
null
Access
Read-only
Since
3.2

View source (opens new window)

# allPdfs

Type
craft\commerce\models\Pdf[]
Default value
null
Access
Read-only
Since
3.2

View source (opens new window)

# defaultPdf

Type
craft\commerce\models\Pdf, null (opens new window)
Default value
null
Access
Read-only
Since
3.2

View source (opens new window)

# hasEnabledPdf

Type
boolean (opens new window)
Default value
null
Access
Read-only
Since
3.2

View source (opens new window)

# Public Methods

Method Description
__call() (opens new window) Calls the named method which is not a class method.
__clone() (opens new window) This method is called after the object is created by cloning an existing one.
__construct() (opens new window) Constructor.
__get() (opens new window) Returns the value of a component property.
__isset() (opens new window) Checks if a property is set, i.e. defined and not null.
__set() (opens new window) Sets the value of a component property.
__unset() (opens new window) Sets a component property to be null.
attachBehavior() (opens new window) Attaches a behavior to this component.
attachBehaviors() (opens new window) Attaches a list of behaviors to the component.
behaviors() (opens new window) Returns a list of behaviors that this component should behave as.
canGetProperty() (opens new window) Returns a value indicating whether a property can be read.
canSetProperty() (opens new window) Returns a value indicating whether a property can be set.
className() (opens new window) Returns the fully qualified name of this class.
deletePdfById() Delete an PDF by its ID.
detachBehavior() (opens new window) Detaches a behavior from the component.
detachBehaviors() (opens new window) Detaches all behaviors from the component.
ensureBehaviors() (opens new window) Makes sure that the behaviors declared in behaviors() (opens new window) are attached to this component.
getAllEnabledPdfs()
getAllPdfs()
getBehavior() (opens new window) Returns the named behavior object.
getBehaviors() (opens new window) Returns all behaviors attached to this component.
getDefaultPdf()
getHasEnabledPdf()
getPdfByHandle()
getPdfById() Get an PDF by its ID.
handleChangedPdf() Handle PDF status change.
handleDeletedPdf() Handle email getting deleted.
hasEventHandlers() (opens new window) Returns a value indicating whether there is any handler attached to the named event.
hasMethod() (opens new window) Returns a value indicating whether a method is defined.
hasProperty() (opens new window) Returns a value indicating whether a property is defined for this component.
init() (opens new window) Initializes the object.
off() (opens new window) Detaches an existing event handler from this component.
on() (opens new window) Attaches an event handler to an event.
renderPdfForOrder() Returns a rendered PDF object for the order.
reorderPdfs()
savePdf() Save an PDF.
trigger() (opens new window) Triggers an event.

# deletePdfById()

Since
3.2

Delete an PDF by its ID.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

# getAllEnabledPdfs()

Since
3.2

View source (opens new window)

Returns

craft\commerce\models\Pdf[]

# getAllPdfs()

Since
3.2

View source (opens new window)

Returns

craft\commerce\models\Pdf[]

# getDefaultPdf()

Since
3.2

View source (opens new window)

Returns

craft\commerce\models\Pdf, null (opens new window)

# getHasEnabledPdf()

Since
3.2

View source (opens new window)

Returns

boolean (opens new window)

# getPdfByHandle()

Since
3.2

View source (opens new window)

Arguments

Returns

craft\commerce\models\Pdf, null (opens new window)

# getPdfById()

Since
3.2

Get an PDF by its ID.

View source (opens new window)

Arguments

Returns

craft\commerce\models\Pdf, null (opens new window)

# handleChangedPdf()

Since
3.2

Handle PDF status change.

View source (opens new window)

Arguments

Returns

void

Throws

  • \craft\commerce\services\Throwable
    if reasons

# handleDeletedPdf()

Since
3.2

Handle email getting deleted.

View source (opens new window)

Arguments

Returns

void

# renderPdfForOrder()

Returns a rendered PDF object for the order.

View source (opens new window)

Arguments

Returns

string (opens new window) – The PDF data.

Throws

# reorderPdfs()

Since
3.2

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# savePdf()

Since
3.2

Save an PDF.

View source (opens new window)

Arguments

Returns

boolean (opens new window)

Throws

# Constants

Constant Description
CONFIG_PDFS_KEY

# Events

# EVENT_AFTER_RENDER_PDF

Type
craft\commerce\events\PdfEvent

The event that is triggered after an order’s PDF has been rendered.

Event handlers can override Commerce’s PDF generation by setting the pdf property on the event to a custom-rendered PDF string. The event properties will be the same as those from beforeRenderPdf, but pdf will contain a rendered PDF string and is the only one for which setting a value will make any difference for the resulting PDF output.

use craft\commerce\events\PdfEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

Event::on(
    Pdf::class,
    Pdf::EVENT_AFTER_RENDER_PDF,
    function(PdfEvent $event) {
        // Add a watermark to the PDF or forward it to the accounting department
        // ...
    }
);

# EVENT_AFTER_SAVE_PDF

Type
craft\commerce\events\PdfSaveEvent

The event that is triggered after an PDF is saved.

use craft\commerce\events\PdfSaveEvent;
use craft\commerce\services\Pdfs;
use craft\commerce\models\Pdf;
use yii\base\Event;

Event::on(
    Pdfs::class,
    Pdfs::EVENT_AFTER_SAVE_PDF,
    function(PdfSaveEvent $event) {
        // @var Pdf $pdf
        $pdf = $event->pdf;
        // @var bool $isNew
        $isNew = $event->isNew;

        // ...
    }
);

# EVENT_BEFORE_RENDER_PDF

Type
craft\commerce\events\PdfEvent

The event that is triggered before an order’s PDF is rendered.

Event handlers can customize PDF rendering by modifying several properties on the event object:

Property Value
order populated Order model
template optional Twig template path (string) to be used for rendering
variables populated with the variables availble to the template used for rendering
option optional string for the template that can be used to show different details based on context (example: receipt, ajax)
use craft\commerce\events\PdfEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

Event::on(
    Pdf::class,
    Pdf::EVENT_BEFORE_RENDER_PDF,
    function(PdfEvent $event) {
        // Modify `$event->order`, `$event->option`, `$event->template`,
        // and `$event->variables` to customize what gets rendered into a PDF
        // ...
    }
);

# EVENT_BEFORE_SAVE_PDF

Type
craft\commerce\events\PdfSaveEvent

The event that is triggered before an pdf is saved.

use craft\commerce\events\PdfSaveEvent;
use craft\commerce\services\Pdfs;
use craft\commerce\models\Pdf;
use yii\base\Event;

Event::on(
    Pdfs::class,
    Pdfs::EVENT_BEFORE_SAVE_PDF,
    function(PdfSaveEvent $event) {
        // @var Pdf $pdf
        $pdf = $event->pdf;
        // @var bool $isNew
        $isNew = $event->isNew;

        // ...
    }
);

# EVENT_MODIFY_RENDER_OPTIONS

Type
craft\commerce\events\PdfRenderOptionsEvent
Since
3.2.10

The event that allows additional setting of pdf render options.