<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://de.contaowiki.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Russe</id>
		<title>Contao Community Documentation - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://de.contaowiki.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Russe"/>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Spezial:Beitr%C3%A4ge/Russe"/>
		<updated>2026-05-07T08:48:47Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.22.6</generator>

	<entry>
		<id>https://de.contaowiki.org/Defaultwerte_vorbelegen</id>
		<title>Defaultwerte vorbelegen</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Defaultwerte_vorbelegen"/>
				<updated>2011-01-14T18:17:55Z</updated>
		
		<summary type="html">&lt;p&gt;Russe: Weitere Beispiele für Events eingefügt.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Dev_HOWTOS]]&lt;br /&gt;
Diese Anleitung beschreibt das Vorbelegen von Felder in Contao mit Defaultwerten. Zu Beginn sei erwähnt, dass Änderungen am Core vermieden werden sollte, da sonst das System nicht updatesicher bleibt. Deshalb:&lt;br /&gt;
*Änderungen an Sprachdateien erfolgen in der '''''system/config/langconfig.php'''''&lt;br /&gt;
*Änderungen an DCA-Einstellungen erfolgen in der '''''system/config/dcaconfig.php'''''&lt;br /&gt;
Warum das so außerhalb vom Core geht? Ganz einfach: Contao lädt einfach diese Dateien ganz am Schluss und dadurch ist es möglich, Daten zu überschreiben, bevor sie ausgegeben werden. &lt;br /&gt;
&lt;br /&gt;
=Aufgabe 1=&lt;br /&gt;
Die Checkbox ''Artikel veröffentlichen'' beim Anlegen eines Artikels soll standardmäßig angehakt sein.&lt;br /&gt;
&lt;br /&gt;
Zuerst muss man die Config-Datei suchen, in welcher diese Checkbox generiert wird. Das ist natürlich für Nicht-PHP-Kenner bei so vielen Dateien nicht einfach und man bedient sich eines Tricks. Zuerst benötigt man aber ein Programm, welches Dateien und Unterverzeichnisse nach Inhalt durchsuchen kann. Für diese Anleitung wird der Quellcode-Editor [http://www.pspad.com PSPad] verwendet. Vorbereitend wird eine Contao-Installation von der Projekt-Webseite geladen und in ein Verzeichnis nach Wahl entpackt.&lt;br /&gt;
&lt;br /&gt;
Da man keine Ahnung hat, in welcher Datei die Konfiguration erfolgt, sucht man einfach mal nach der Bezeichnung des Feldes ''Artikel veröffentlichen'', denn auch das muss ja irgend woher kommen. Dazu öffnet man PSPad und klickt in der Menüleiste auf ''Suchen'' -&amp;gt; ''Suchen/Ersetzen in Dateien...''. Im sich öffnenden Dialogfenster sind nun folgende Parameter zu setzen:&lt;br /&gt;
*Gesuchter Text: Artikel veröffentlichen&lt;br /&gt;
*In diesem Ordner suchen =&amp;gt; Verzeichnis, wo Contao entpackt wurde&lt;br /&gt;
*Einschließlich Unterordner: anhaken&lt;br /&gt;
&lt;br /&gt;
[[Datei:fieldsdefault_pspadsearchform.png|PSPad Suchmaske Einstellungen]]&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf ''OK'' beginnt die Suche.&amp;lt;br /&amp;gt;&lt;br /&gt;
Wie in dem Dateisuchergebnis sichtbar ist, wurde der Ausdruck an zwei Stellen in einer Datei '''system/modules/backend/languages/de/tl_article.php''' gefunden. &lt;br /&gt;
&lt;br /&gt;
[[Datei:fieldsdefault_pspadsearchresult-1.png|800px|PSPad Suchergebnis]]&lt;br /&gt;
&lt;br /&gt;
Das Dateisuchergebnis zeigt sogleich die Zeile an, an welcher Stelle der gesuchte Ausdruck gefunden wurde, nämlich in Zeile 46 und 86. Da ''veröffentlichen'' auf englisch ''published'' heißt, sollte klar sein, dass die Zeile 46 relevant ist. Wie man nun sieht, wird in dieser Datei das Feld, je nach Sprache benannt. Jetzt weiss man aber, in welchem Array diese Beschriftung gespeichert wird, nämlich in&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['tl_article']['published']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Also wiederholt man die Suche in allen Dateien und sucht dieses Array, was wieder ein Ergebnis liefert. Diesmal sind es 3 Ergebnisse. Logischerweise findet man das Array in allen Sprachdateien (standardmäßig de und en, deshalb zwei) und in der gesuchten Config-Datei. Es handelt sich hier um '''''system/modules/backend/dca/tl_article.php'''''.&lt;br /&gt;
&lt;br /&gt;
[[Datei:fieldsdefault_pspadsearchresult-2.png|PSPad Suchergebnis]]&lt;br /&gt;
&lt;br /&gt;
Diese Datei wird jetzt im Editor geöffnet.&amp;lt;br /&amp;gt;&lt;br /&gt;
Jetzt wird es ein bisschen komplizierter, obwohl die Darstellung ja sehr ordentlich ist. Vor sich hat man jetzt eine Datei mit lauter mehrdimensionalen Arrays. Wer genau wissen möchte, um was es sich dabei handelt, kann sich [http://www.php.net/manual/de/language.types.array.php hier] weiterbilden. An und für sich muss man sich das einfach wie ein Geschenk vorstellen, das in n Packungen eingepackt ist (verschachtelt). Das&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_LANG']['tl_article']['published']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
findet man so vor:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
'published' =&amp;gt; array&lt;br /&gt;
(&lt;br /&gt;
	'exclude'                 =&amp;gt; true,&lt;br /&gt;
	'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_article']['published'],&lt;br /&gt;
	'inputType'               =&amp;gt; 'checkbox',&lt;br /&gt;
	'eval'                    =&amp;gt; array('doNotCopy'=&amp;gt;true)&lt;br /&gt;
),&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Jetzt verfolgt man die Verschachtelung zurück. Wenn man all das weg lässt, was nicht interessiert (= die Schachteln auf der gleichen Ebene), bleibt am Schluss das übrig:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_article'] = array&lt;br /&gt;
(&lt;br /&gt;
	// Fields&lt;br /&gt;
	'fields' =&amp;gt; array&lt;br /&gt;
	(&lt;br /&gt;
		'published' =&amp;gt; array&lt;br /&gt;
		(&lt;br /&gt;
			'exclude'                 =&amp;gt; true,&lt;br /&gt;
			'label'                   =&amp;gt; &amp;amp;$GLOBALS['TL_LANG']['tl_article']['published'],&lt;br /&gt;
			'inputType'               =&amp;gt; 'checkbox',&lt;br /&gt;
			'eval'                    =&amp;gt; array('doNotCopy'=&amp;gt;true)&lt;br /&gt;
		),&lt;br /&gt;
	)&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Entweder man sieht das gleich, oder man löscht einfach alles, was nicht interessiert aus der Datei (Achtung, nicht speichern danach).&lt;br /&gt;
&lt;br /&gt;
Nun kann man also alle Schachteln zusammenfassen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_article']['fields']['published']&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Genau hier wird dieses Feld generiert und man kann es jetzt in der '''''system/config/dcaconfig.php''''' vor belegen, indem man dort einfach folgenden Code eingibt:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_article']['fields']['published']['default'] = true;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wie zu sehen ist, hängt man einfach dieser Verschachtelung noch ein 'default' an und setzt den Wert auf 'wahr', da eine Checkbox entweder angehakt ist (true) oder eben nicht (false).&lt;br /&gt;
&lt;br /&gt;
Das war's. Von nun an ist die Checkbox standardmäßig angehakt. Es ist noch zu beachten, dass das natürlich keine Auswirkungen auf bereits erstellte Artikel hat, denn bei denen wurde der Status ja schon in die Datenbank eingetragen.&lt;br /&gt;
&lt;br /&gt;
=Aufgabe 2=&lt;br /&gt;
Natürlich gibt es nicht nur Checkboxen. Man könnte z.B. auch die Bildergröße (150 x 100 Pixel) bei einem Bild vorbelegen. Das sähe dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_content']['fields']['size']['default'] = array(150,100);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Weitere Beispiele=&lt;br /&gt;
== Events ==&lt;br /&gt;
Hier sind ein paar Beispiele für Defaultwerte beim Anlegen eines Events.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['details']['default'] = '&amp;lt;p&amp;gt;Event Text&amp;lt;br /&amp;gt;&lt;br /&gt;
als Absatz und mit Zeilenumbruch.&amp;lt;/p&amp;gt;';&lt;br /&gt;
&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['alt']['default'] = 'Alternativer Text'; # Alternativer Text bei Bildern&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['size']['default'] = array(150,); # Bildbreite von 150 px&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['fullsize']['default'] = true; # Großansicht/Neues Fenster&lt;br /&gt;
$GLOBALS['TL_DCA']['tl_calendar_events']['fields']['floating']['default'] = array('left'); # Bildausrichtung links&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Credits=&lt;br /&gt;
Orginalanleitung erstellt von [[Benutzer:Toflar|Toflar]]&lt;/div&gt;</summary>
		<author><name>Russe</name></author>	</entry>

	<entry>
		<id>https://de.contaowiki.org/Diskussion:Bildergalerie(n)_-_kreativ_genutzt</id>
		<title>Diskussion:Bildergalerie(n) - kreativ genutzt</title>
		<link rel="alternate" type="text/html" href="https://de.contaowiki.org/Diskussion:Bildergalerie(n)_-_kreativ_genutzt"/>
				<updated>2010-10-02T07:33:45Z</updated>
		
		<summary type="html">&lt;p&gt;Russe: Die Seite wurde neu angelegt: „Dieses Vorgehen ist ein guter und schneller Weg eine Bildergalerie zu nutzen bei der man auf der Startseite nicht alle Bilder angezeigt bekommt. Leider gibt es hi…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dieses Vorgehen ist ein guter und schneller Weg eine Bildergalerie zu nutzen bei der man auf der Startseite nicht alle Bilder angezeigt bekommt. Leider gibt es hier auch einen gravierenden Nachteil, denn wenn der User einen Browser nutzt der CSS richtig interpretiert (was bei nahezu allen der Fall ist) aber bei dem JavaScript deaktiviert ist (was mittlerweile immer häufiger vorkommt), dann sieht der User zwar das Startbild der Galerie aber bei einem Mausklick darauf öffnet sich das Bild einzeln auf einer sonst leeren Seite. Der User sieht also gar nicht dass es da noch mehr Bilder gibt denn diese sind ja mit overflow:hidden versteckt.&lt;br /&gt;
Dieser Nachteil sollte in diesem Tutorial erwähnt werden denke ich.&lt;br /&gt;
Eine Lösung hier wäre die übrigen Bilder nicht direkt per CSS zu verstecken sondern über JavaScript die Eigenschaft overflow:hidden zuzuweisen. Ist JavaScript beim User aktiviert dann funktioniert alles wie es soll, die ganze Galerie geht in der Mediabox / Slimbox auf; ist JavaScript deaktiviert werden die Bilder nicht versteckt und sie können direkt angeklickt werden.&lt;/div&gt;</summary>
		<author><name>Russe</name></author>	</entry>

	</feed>