Skip to content

Pdfs ​

Type
Class
Namespace
craft\commerce\services
Inherits
craft\commerce\services\Pdfs » yii\base\Component » yii\base\BaseObject
Implements
yii\base\Configurable
Since
2.0

Pdf service.

View source

Public Properties ​

PropertyDescription
allEnabledPdfscraft\commerce\models\Pdf[]
allPdfsnull, craft\commerce\models\Pdf[]
behaviorsyii\base\Behavior – List of behaviors attached to this component.
defaultPdfnull, craft\commerce\models\Pdf
hasEnabledPdfboolean

allEnabledPdfs ​

Type
craft\commerce\models\Pdf[]
Default value
null

View source

allPdfs ​

Type
null, craft\commerce\models\Pdf[]
Default value
null

View source

defaultPdf ​

Type
null, craft\commerce\models\Pdf
Default value
null

View source

hasEnabledPdf ​

Type
boolean
Default value
null

View source

Public Methods ​

MethodDescription
__call()Calls the named method which is not a class method.
__clone()This method is called after the object is created by cloning an existing one.
__construct()Constructor.
__get()Returns the value of a component property.
__isset()Checks if a property is set, i.e. defined and not null.
__set()Sets the value of a component property.
__unset()Sets a component property to be null.
attachBehavior()Attaches a behavior to this component.
attachBehaviors()Attaches a list of behaviors to the component.
behaviors()Returns a list of behaviors that this component should behave as.
canGetProperty()Returns a value indicating whether a property can be read.
canSetProperty()Returns a value indicating whether a property can be set.
className()Returns the fully qualified name of this class.
deletePdfById()Delete an PDF by its ID.
detachBehavior()Detaches a behavior from the component.
detachBehaviors()Detaches all behaviors from the component.
ensureBehaviors()Makes sure that the behaviors declared in behaviors() are attached to this component.
getAllEnabledPdfs()
getAllPdfs()
getBehavior()Returns the named behavior object.
getBehaviors()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()Returns a value indicating whether there is any handler attached to the named event.
hasMethod()Returns a value indicating whether a method is defined.
hasProperty()Returns a value indicating whether a property is defined for this component.
init()Initializes the object.
off()Detaches an existing event handler from this component.
on()Attaches an event handler to an event.
renderPdfForOrder()Returns a rendered PDF object for the order.
reorderPdfs()
savePdf()Save an PDF.
trigger()Triggers an event.

deletePdfById() ​

Since
3.2

Delete an PDF by its ID.

View source

Arguments ​

  • $id

getAllEnabledPdfs() ​

Since
3.2

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection<\craft\commerce\models\Pdf>

getAllPdfs() ​

Since
3.2

View source

Arguments ​

Returns ​

\Illuminate\Support\Collection<\craft\commerce\models\Pdf>

Throws ​

getDefaultPdf() ​

Since
3.2

View source

Arguments ​

  • $storeId

getHasEnabledPdf() ​

Since
3.2

View source

Arguments ​

  • $storeId

getPdfByHandle() ​

Since
3.2

View source

Arguments ​

  • $handle
  • $storeId

getPdfById() ​

Since
3.2

Get an PDF by its ID.

View source

Arguments ​

  • $id
  • $storeId

handleChangedPdf() ​

Since
3.2

Handle PDF status change.

View source

Arguments ​

  • $event

Throws ​

handleDeletedPdf() ​

Since
3.2

Handle email getting deleted.

View source

Arguments ​

  • $event

Throws ​

renderPdfForOrder() ​

Returns a rendered PDF object for the order.

View source

Arguments ​

  • $order (craft\commerce\elements\Order) – The order you want passed into the PDFs order variable.
  • $option (string) – A string you want passed into the PDFs option variable.
  • $templatePath (string, null) – The path to the template file in the site templates folder that DOMPDF will use to render the PDF.
  • $variables (array) – Variables available to the pdf html template. Available to template by the array keys.
  • $pdf (craft\commerce\models\Pdf, null) – The PDF you want to render. This will override the templatePath argument.

Returns ​

string – The PDF data.

Throws ​

reorderPdfs() ​

Since
3.2

View source

Arguments ​

  • $ids

Throws ​

savePdf() ​

Since
3.2

Save an PDF.

View source

Arguments ​

  • $pdf
  • $runValidation

Throws ​

Constants ​

ConstantDescription
CONFIG_PDFS_KEY

Events ​

EVENT_AFTER_RENDER_PDF ​

Type
craft\commerce\events\PdfRenderEvent

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.

php
use craft\commerce\events\PdfRenderEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

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

EVENT_AFTER_SAVE_PDF ​

Type
craft\commerce\events\PdfEvent

The event that is triggered after an PDF is saved.

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

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

        // ...
    }
);

EVENT_BEFORE_DELETE_PDF ​

Type
craft\commerce\events\PdfEvent
Since
4.0.0

The event that is triggered before a pdf is deleted.

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

Event::on(
    Pdfs::class,
    Pdfs::EVENT_BEFORE_DELETE_PDF,
    function(PdfEvent $event) {
        // @var Pdf $pdf
        $pdf = $event->pdf;

        // ...
    }
);

EVENT_BEFORE_RENDER_PDF ​

Type
craft\commerce\events\PdfRenderEvent

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:

PropertyValue
orderpopulated Order model
templateoptional Twig template path (string) to be used for rendering
variablespopulated with the variables available to the template used for rendering
optionoptional string for the template that can be used to show different details based on context (example: receipt, ajax)
php
use craft\commerce\events\PdfRenderEvent;
use craft\commerce\services\Pdf;
use yii\base\Event;

Event::on(
    Pdf::class,
    Pdf::EVENT_BEFORE_RENDER_PDF,
    function(PdfRenderEvent $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\PdfEvent

The event that is triggered before an pdf is saved.

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

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

        // ...
    }
);

EVENT_MODIFY_RENDER_OPTIONS ​

Type
craft\commerce\events\PdfRenderOptionsEvent

The event that allows additional setting of pdf render options.