Hallo zusammen
Habe mich im tl_files mal umgeschaut und gesehen, dass die caption etc. im "metaWizard" Feld sind.
Kann man das erweitern?
Hat da jemand Erfahrung oder sollte ich mal drauf los probieren?
Danke im Voraus
Druckbare Version
Hallo zusammen
Habe mich im tl_files mal umgeschaut und gesehen, dass die caption etc. im "metaWizard" Feld sind.
Kann man das erweitern?
Hat da jemand Erfahrung oder sollte ich mal drauf los probieren?
Danke im Voraus
Das müsste so gehen:
PHP-Code:
// system/config/dcaconfig.php
$GLOBALS['TL_DCA']['tl_files']['fields']['meta']['eval']['metaFields']['myfield'] = 'maxlength="255"';
$GLOBALS['TL_LANG']['MSC']['aw_myfield'] = 'Mein Feld';
Danke schon mal für den Input!
Hat soweit auch geklappt.
Jetzt habe ich in der Dateiverwaltung auch entsprechend das eigene Metafeld.
Beim Einfügen eines Bildes, per Contao Bild Element, erscheint das Feld im Backend-Formular jedoch noch nicht.
Gibt es da auch einen Weg das Feld einzubinden?
Ja, siehe auch hier https://community.contao.org/de/show...Feld-erweitern
Hi Andreas
Danke nochmals für die Nachricht.
Habe mich da durchgelesen, entweder entgeht mir was oder das Vorgehen ist da anders.
Ich kann die Werte im Backend nur via Dateiverwaltung abfüllen.
Innerhalb eines Content-Elements "Bild", wo man die Caption etc. ja noch überschreiben kann, erscheint mein Feld nun nicht.
Ansicht in der Dateiverwaltung:
Anhang 18870
Ansicht im Bild Element:
Anhang 18869
Muss ich das Feld nicht noch in der Palette einfügen oder so?
Die Felder im CE stehen nicht mit den Feldern in tl_files im Zusammenhang. (Bis auf sone seltsame Programmierung, dass ich glaube das Feld 'alt' mit dem Wert aus meta.title gefüllt wird, das aber nur, wenn du ein CE neu anlegst.)
Pflege dein neues Feld entweder nur in der Dateiverw. und hole die Werte über eine Templateanpassung ins FE. Oder erstelle auch in den CEs ein neues Feld. Im FE-Ausgabe-Template kannst du dann eine Fallunterscheidung machen, zB 'Rendere Feld aus dem CE falls vorhanden, sonst das Feld aus tl_files.meta'.
Schau dir auch mal die Tabellen in der DB an. tl_content und tl_files. Da siehst du, dass die Felder aus den CEs jeweils eine Spalte sind. Die 3 Felder in der Dateiverwaltung sind aber als serialisiertes Array in tl_files.meta vorhanden.
Okay danke, habe jetzt nochmals umgebaut und so gelöst:
/system/modules/z_image_desc/dca/tl_content.php
/system/modules/z_image_desc/languages/de/tl_content.phpPHP-Code:
<?php
//Anzeige im Backend
foreach($GLOBALS['TL_DCA']['tl_content']['palettes'] as $k => $v)
{
$GLOBALS['TL_DCA']['tl_content']['palettes'][$k] = str_replace
(
'caption',
'caption,imageDesc',
$GLOBALS['TL_DCA']['tl_content']['palettes'][$k]
);
}
$GLOBALS['TL_DCA']['tl_content']['fields']['imageDesc'] = array
(
'label' => &$GLOBALS['TL_LANG']['tl_content']['imageDesc'],
'exclude' => true,
'inputType' => 'text',
'eval' => array('tl_class'=>'w50'),
'sql' => "char(255) NULL"
);
/templates/ce_image.html5PHP-Code:
<?php
$GLOBALS['TL_LANG']['tl_content']['imageDesc'] = array('Bildnachweis', 'Hier können Sie einen kurzen Text eingeben, der unterhalb des Bildes (nach Bildunterschrift) angezeigt wird');
PHP-Code:
<?php if ($this->imageDesc): ?>
<span class="image_desc"><?= $this->imageDesc ?></span>
<?php endif; ?>