CoolCMS API

PdfTemplateFormTrait

Add/edit form of a PDF template.

Two sections (nav-pills in the template): main settings (translated name) and variants (owned collection). Each variant has css (language independent), a semantic name per language (variant_texts) and content (header/html/footer) per layout and language (addPdfTemplateVariantMultiplier(), variant.layoutTexts). Variants are a client-side Multiplier (no Naja round trips); the server Multiplier only holds structure and indexes. Saved as an object graph (hydrateForPersist) with nested collections variants to variantText/layoutText (derived identity), like PollFormTrait.

Table of Contents

Methods

createComponentEditForm()  : Form
addPdfTemplateMainFields()  : void
Main settings: translated template name (active translation).
addPdfTemplateVariantMultiplier()  : void
Variants: client-side Multiplier (no add/remove buttons; JS clones the `<template>`).
buildPdfTemplateVariantLayoutTexts()  : ArrayCollection<int, PdfTemplateVariantLayoutText>
Builds the owned `layoutTexts` collection: full replace from the form, per layout and language. The form knows the whole layout code list ({@see \App\UI\Admin\System\Presenters\PdfTemplatePresenter::pdfTemplateLayouts()}), so the full replace is safe (no layout is left outside the form).
buildPdfTemplateVariants()  : ArrayCollection<int, PdfTemplateVariant>
Builds the owned collection of variants from the multiplier (empty variants are skipped).
pdfTemplateVariantDefaults()  : array<int, array<string, mixed>>
Returns the variant multiplier defaults for edit.
savePdfTemplateForm()  : bool
setPdfTemplateFormDefaults()  : void

Methods

addPdfTemplateMainFields()

Main settings: translated template name (active translation).

private addPdfTemplateMainFields(Form $form) : void
Parameters
$form : Form

addPdfTemplateVariantMultiplier()

Variants: client-side Multiplier (no add/remove buttons; JS clones the `<template>`).

private addPdfTemplateVariantMultiplier(Form $form) : void

The container holds variantId, css, name per language and, per layout and language, header_<layoutId>_<langId>/html_<layoutId>_<langId>/footer_<layoutId>_<langId> (TinyMCE, data-editor): the variant content for the given layout (PdfTemplateLayout).

Parameters
$form : Form

buildPdfTemplateVariantLayoutTexts()

Builds the owned `layoutTexts` collection: full replace from the form, per layout and language. The form knows the whole layout code list ({@see \App\UI\Admin\System\Presenters\PdfTemplatePresenter::pdfTemplateLayouts()}), so the full replace is safe (no layout is left outside the form).

private buildPdfTemplateVariantLayoutTexts(ArrayHash<string|int, mixed>|array<string, mixed> $row, PdfTemplateVariant $variant) : ArrayCollection<int, PdfTemplateVariantLayoutText>
Parameters
$row : ArrayHash<string|int, mixed>|array<string, mixed>
$variant : PdfTemplateVariant
Return values
ArrayCollection<int, PdfTemplateVariantLayoutText>

buildPdfTemplateVariants()

Builds the owned collection of variants from the multiplier (empty variants are skipped).

private buildPdfTemplateVariants(ArrayHash<string|int, mixed> $values, PdfTemplate $template) : ArrayCollection<int, PdfTemplateVariant>

variant_texts carries only the semantic name; the header/html/footer content is built by buildPdfTemplateVariantLayoutTexts().

Parameters
$values : ArrayHash<string|int, mixed>
$template : PdfTemplate
Return values
ArrayCollection<int, PdfTemplateVariant>

pdfTemplateVariantDefaults()

Returns the variant multiplier defaults for edit.

private pdfTemplateVariantDefaults() : array<int, array<string, mixed>>
Return values
array<int, array<string, mixed>>

savePdfTemplateForm()

private savePdfTemplateForm(ArrayHash<string|int, mixed> $values) : bool
Parameters
$values : ArrayHash<string|int, mixed>
Return values
bool
On this page

Search results