Tausend Dank nochmals, funktioniert 1A.
Für alle die das Gleiche umsetzen möchten, hier mein Lösungsweg...
Ich nutze RockSolid Custom Elements um die Pflege eines wiederkehrenden Abschnitts auf der Homepage zu realisieren.
Der Abschnitt, welcher in einem eigenständigen Artikel angelegt ist, beinhaltet ein Formular auf der linken Seite (100|66 %) + ein optionales Bild auf der rechten Seite (33 %) und wird als Box mit leichtem Schatten dargestellt.
Hierzu verwende ich die folgende Konfiguration:
templates/rsce_ce_form_config.php
PHP-Code:
return array(
'label' => array('CE # Formular mit optionalem Bild', 'Ähnlich dem Element "Formular", jedoch ohne Überschrift und mit der Möglichkeit ein Bild rechts anzuzeigen'),
'types' => array('content'),
'beTemplate' => 'ce_text',
'standardFields' => array('image', 'cssID'),
'wrapper' => array(
'type' => 'none'
),
'fields' => array(
'form' => array(
'label' => ['Formular', 'Wähle das Formular welches links angezeigt werden soll'],
'inputType' => 'select',
'foreignKey' => 'tl_form.title',
'eval' => [
'chosen' => true
],
'sql' => [
'type' => 'string',
'notnull' => false,
'default' => ''
]
)
)
);
templates/rsce_ce_form.html5
Die optionale CSS-Klasse "with_image" im Container "form" sorgt dafür das der Formular-Container 66 % der verfügbaren Breite einnimmt, so dass 33 % für das rechtsstehende Bild verbleiben.
PHP-Code:
<?php $this->extend('block_unsearchable'); ?>
<?php $this->block('content');
$form = \Contao\Controller::getForm($this->arrData['form']);
?><div class="form<?php if($this->addImage): ?> with_image<?php endif; ?>">
<?= $form ?>
</div><?php if ($this->addImage): ?><figure class="image_container">
<?php $this->insert('picture_default', $this->picture); ?>
</figure>
<?php endif; ?>
<?php $this->endblock(); ?>