Ich habe Redakteure, die mir immer zu lange Titel bei den Nachrichten eingeben. Kann ich das Feld Titel irgendwie begrenzen, daß schon bei der Eingabe nach eine bestimmten Anzahl an Zeichen der Rest abgeschnitten wird?
Beste Grüße
Jürgen
Ich habe Redakteure, die mir immer zu lange Titel bei den Nachrichten eingeben. Kann ich das Feld Titel irgendwie begrenzen, daß schon bei der Eingabe nach eine bestimmten Anzahl an Zeichen der Rest abgeschnitten wird?
Beste Grüße
Jürgen
Gruß Jürgen
Moin,
Du kannst in Contao alle dca Felder nach belieben anpassen:
Das geht wie folgt:
1. Gehe in system/config/dcaconfig.php Diese Datei ist dafür gedacht das du hier updatesichere Änderungen an dem Data Container Array (DCA) vornehmen kannst.
2. Der Aufbau eines DCA ist meistens gleich. Es beginnt mit $GLOBALS['TL_DCA']['tl_dasModul'], in deinen Fall muss "tl_dasModul" durch "tl_news" ausgetauscht werden. Das Array ist in in verschiedene Ebenen unterteilt u.a. "fields". In dieser Ebene kannst du die einzelnen Felder Überschreiben. In deinem Fall "headline".
Jedes Feld hat weitere Eigenschaften wie z.B. label, typ, usw. In der Eigenschaft "eval" (für evulationen) kann man unter anderem die "maxlength" eines Feldes festlegen.
Das bedeutet das in unserer DCA folgendes stehen sollte, wenn wir die maximale Länge einschränken wollen.
Schau dir einfach mal die Datei system/modules/news/dca/tl_news.php an, dort wirst du die von mir erwähnte Struktur finden.PHP-Code:
<?php
$GLOBALS['TL_DCA']['tl_news']['fields']['headline']['eval']['maxlength'] = 100;
?>
Hoffe das hilft dir
vg Joe
Geändert von joe (23.08.2012 um 22:32 Uhr)
Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.
Mehr unter jgreg.dev
Follow me on Twitter @JoeRayGregory
Jup, das ist genau das was ich brauche.
Eine Frage noch, wie finde ich die Feldnamen und woher weiß ich, was alles in der dcaconfig verändert werden kann?
Gruß Jürgen
Die Feld Namen findest du im Modul z.B. "system/modules/Modulname/dca/tl_moduleName.php". Welche DCA geladen werden verrät dir u.a. die URI des Backends. Dort hast du Werte wie do=article oder table=tl_news stehen. Diese bieten dir einen Anhaltspunkt.
Zu dem kannst du einen var dump oder ein print_r auf das DCA machen. Das kann ich eigentlich weniger empfehlen trotzdem nachfolgend der Weg. Bitte beachte das hier auch die Sprachdateien mit geladen werden.
Hinweis: Nachfolgendes bitte nicht im Live betrieb von Seiten machen sondern nur auf Entwicklungsumgebungen.
Um dir alle vorhandenen Felder und eigenschaften anzeigen zu lassen trage folgendes in deine dcaconfig:
Nachdem du gespeichert hast sollte dir im Backend bei einen News Beitrag das komplette DCA von tl_news angezeigt werden.PHP-Code:
echo '<pre>';
print_r($GLOBALS['TL_DCA']['tl_news']['fields']);
echo '</pre>';
Eine Liste mit erlaubten DCA Eigenschaften findest du unter: http://contao.org/de/reference.html
vg Joe
Geändert von joe (24.08.2012 um 14:34 Uhr)
Trainings und Coachings zur Fort und Weiterbildung sowie Beratung in den Bereichen Contao, JavaScript, jQuery, VueJS, React, PHP, NodeJS und vielen weiteren Themen.
Mehr unter jgreg.dev
Follow me on Twitter @JoeRayGregory
die infos sind super
dazu noch eine frage:
kann man das auch auf ein bestimmtes Templates bzw. ein bestimmtes News-Archiv beschränken?
Geändert von karo (03.03.2013 um 11:40 Uhr)
Wie schon gesagt möchte ich Titel + Co nicht für alle News-Archive sondern für 1 bestimmtes auf die ANzahl der Zeichen beschränken.
Ich hab jetzt in der Datenbank nachgeschaut
in der tl_news gibt es die Spalte "pid" - welche die verknüpfung zum Archiv ist > pid = id des Archivs
ich müsste also so etwas einbauen: "tl_news WHERE pid=1" (ist mir schon klar dass das nicht so geht - deshalb frag ich ja wie es statt dessen gehen könnte, da i mi da nit auskenne)
könntet ihr mir vielleicht beim richtigen code hier helfen?Code:$GLOBALS['TL_DCA']['tl_news WHERE pid=1']['fields']['headline']['eval']['maxlength'] = 100;
danke
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen