...
Varianten für ein bestehendes Element erweitern
Um Varianten für ein PrintElementVariants zur Auswahl hinzuzufügen, kann das Event \Brandbox\PrintCore\PrintDocument\Structure\Lib\Event\OnPopulateVariants
verwendet werden. Wichtig ist, dass man nur relevante Varianten für die Kombination aus $plugin
und $view
erweitert.
Für diese Vorgehensweise gibt es die Klasse \Brandbox\PrintCore\PrintDocument\Structure\Lib\Request\Listener\PrintDocumentStructure\PopulateVariants\PopulateVariantsAbstract
von der abgeleitet werden kann. Damit kann man die Varianten über ein Array definieren.
Codeblock | ||||||
---|---|---|---|---|---|---|
| ||||||
use Brandbox\PrintCore\PrintDocument\Structure;
class Variants extends Structure\Lib\Request\Listener\PrintDocumentStructure\PopulateVariants\PopulateVariantsAbstract
{
public const PLUGIN = 'View/PrintParagraph';
public const VIEW = 'paragraph';
public const VARIANTS = [
'MyKeyVariant1' => [
'label' => 'i18n:View/ProtektorPrintParagraph.EnumerationVariantsFooterCount',
'variants' => ['position-footer']
],
'MyKeyVariant2' => [
'label' => 'i18n:View/ProtektorPrintParagraph.EnumerationVariantsProductHeadline',
'variants' => ['product-headline']
]
];
} |
Rollenschemata
Man sollte beachten, dass die erstellten Tabellen für die Views auch in einem Rollenschema hinterlegt wurden. Meist in der App in welcher der View liegt. Engine-Methoden brauchen keine Security-Definition, da der view ohne Rechtecheck aufgerufen wird (die Eintity unterliegt allerdings noch dem Rechtesystem).
...