Inhaltsverzeichnis
MODX
Tutorials
- MIGX - Eine funktionierende umgesetzte Anleitung: MIGX Anleitung
- MIGX - Anleitung für verschachtelte MIGX Variablen: Verschachtelte MIGX Template Variablen (einfach)
Installation
Manager "leer" nach Installation
Wenn nach der Installation der Manager „leer“ ist, im Sinne von: der Seiten-Baum fehlt, Menü-Punkte funktionieren nicht, Unterseiten lassen sich nicht aufrufen und bleiben „leer“, dann liegt dies wahrscheinlich an einem Problem mit den Einstellungen von compress_css
und compress_js
, z.B. das die Komprimierung für CSS und JavaScript nicht funktioniert aber aktiviert ist.
Mit phpMyAdmin (oder einem anderen Programm) in der Tabelle modx_system_settings
nach den Einträgen compress_css
und compress_js
suchen und dort jeweils das Feld value
von 1
auf 0
setzen.
Danach alle Dateien im Verzeichnis /core/cache
löschen.
Nun sollte der MODX-Manager wieder vollständig angezeigt werden und funktionieren.
Quelle: MODX Forums: Empty manager (no file/element tree, menus not working) on new install
Standard-Pakete
Standard-Pakete, die ich eigentlich auf meinen Installationen fast immer installiere:
- getResourceField
- getResources
- Wayfinder
- ACE - Hilft mit Zeilennummerierung, Formatierung & Suchfunktion beim Editieren von Chunks
- pThumb
- resizer
- TinyMCE Rich Text Editor
- Gallery
- pubwarner (von bytethinker)
- Backup Modx - noch nicht getestet
Standard-Einstellungen
Seiten-Name
site_name
von „MODX Revolution“ in den Namen der Website ändern.
Seiten-Tagline
Wenn die Seite eine Tagline oder Motto hat, dann kann dazu im Kontext eine neue Eigenschaft wie site_tagline
angelegt werden.
Seiten-URL
Ggf. im Kontext der Website: site_url
für die richtige Adresse im BASE
-Tag.
Fehler-Seite
Die Fehler Seite kann bei error_page
festgelegt werden.
Veröffentlicht und Menü
Auch diese beiden Einstellungen im Menü anzeigen
und veröffentlicht
lassen sich für die Website einstellen.
Update
Update-Script
Eine gute Alternative ist das Update-Script von sottwell: https://github.com/sottwell/installer
- Die
install.php
ins Hauptverzeichnis der Website legen - Plugins- und Erweiterungen im Manager deaktivieren (nicht zwingend nötig, aber sicherer)
- Cache leeren
- Ausloggen
- Im Browser die
install.php
aufrufen: http://example.com/install.php
Achtung: Immer nur von einer Version zur nächsten aktualisieren, z.B. von 2.4.3 auf 2.4.4 und danach erst auf 2.5.0.
Umzug
Templates
Einstellungen
Icon
Unter dem Punkt „Icon“ kann ein Icon aus dem Katalog von Font Awesome ausgewählt werden, dazu muss einfach in dem Feld der Name des Icons, z.B. icon-group
, eingegeben werden: Icons in Font Awesome 3.2.1
Quelle: MODX Forums: What is the new field "icon" for template setup?
Template Tags
Kommentare
[[- Das ist ein Kommentar in der MODX-Template-Syntax ]]
Datum formatieren
In getResources:
[[+publishedon:strtotime:date=`%Y-%m-%d`]]
In pdoResources
[[+publishedon:date=`%Y-%m-%d`]]
URL der aktuellen Seite
[[~[[*id]]? &scheme=`full`]]
TV in Kleinbuchstaben und ohne Leerzeichen
[[+p0301Headline:strtolower:stripString=` `]]
Chunks
Packages
Wayfinder
- Wayfinder Cheat Sheet für Evolution - trotzdem nützlich
Snippets
ID der Großeltern-Ressource
Um die ID der Großeltern-Ressource, also der Eltern-Ressource der Eltern-Ressource, zu bekommen, ist folgendes Snippet hilfreich:
<?php $id = $modx->resource->get('id'); $parents = $modx->getParentIds($id, 2); $grandparent = $parents[1]; return $grandparent;
Wenn das Snippet als grandparent
abgespeichert wird, kann es einfach wie folgt aufgerufen werden:
[[grandparent]]
Quelle: Sepia River Blog: MODX Quick Tip: Get ID Of Grandparent
Datum lokalisieren
Um ein Datum zu lokalisieren, kann am besten ein eigener Output-Modifier erstellt werden. Dazu muss ein neues Snippet mit dem Namen dateLocale
und folgendem PHP-Schnippsel angelegt werden:
<?php setlocale(LC_ALL, 'de_DE'); return strftime($options, $input);
Der Output-Modifier kann nun wie folgt aufgerufen werden:
[[+publishedon:strtotime:dateLocale=`%e. %B %Y`]]
Quelle: MODX Forums: How to set a specific locale for the :date output filter?
Arnes Snippets
Sicherheit/Rechte
Mehrsprachigkeit
Mehrsprachige MODX-Websites am besten mit Babel.
Jumper-Link
<p id="jumper"><a href="#content">[ [[++cultureKey:is=`de`:then=`Direkt zum Inhalt`:else=`[[++cultureKey:is=`nl`:then=`Direct naar de inhoud`:else=`Jump to content`]]`]] ]</a></p>
Erweiterungen
Weitere Erweiterungen
Kommerzielle Erweiterungen
Links
Tipps & Tricks
Tiny-MCE Überflüssiges p-Tag
In den Einstellungen (Custom Parameters) des Plugins Tiny MCE forced_root_block:false eintragen behebt das Problem.
Dynamischer Chunk-Aufruf
Der gewöhnliche Chunk-Aufruf sieht so aus:
[[$meinchunk?]]
In dem Chunk $meinchunk soll zum Beispiel stehen:
<h1>Hier soll spezieller Text hin</h1>
Diesen kann man nun dem Chunk-Aufruf mitgeben. Und zwar so:
[[$meinchunk? &meintext=`Hallo! Das klappt ja super!`]]
Im Chunk schreibt man:
<h1>[[+meintext]]</h1>
Ergebnis:
<h1>Hallo! Das klappt ja super!</h1>
MIGX TV empty/notempty
Mit dieser Konstruktion kann man auch Migx Variablen auf leer prüfen. Hinweis: Das funktioniert gut für Seiten, für Übersichtsseiten oder Teaser ist das keine gute Konstruktion, da es Probleme mit dem Cache und den Placeholdern gibt. (Auch wenn man diese durchnummeriert)
[[getImageList? &tvname=`content-image` &docid=`[[+id]]` &tpl=`news-teaser-FirstRowTpl-image` &toPlaceholder=`migx_output` ]] [[+migx_output:notempty=`[[+migx_output]]`:default=` <p>Leider kein Glück!</p> `]]
IF / ELSE MIT PDO Field
[[pdoField:isequalto=`1`:then=`<p>Ist 1</p>`:else=`<p>Ist null</p>`? &id=`2393` &field=`showelement-headersponsor` ]]
Template Variablen unter dem Content-Feld
In den System-Einstellungen „tvs_below_content“ auf ja setzen
Seitenbaum mit Menütiteln
In den System-Einstellungen „resource_tree_node_name“ auf „menutitle“ setzen. Es gibt ein Fallback für Seiten, die keinen „menutitle“ haben.
QUIP
Quip ist nach dem neuesten Stand nicht DSGVO-kompatibel. Denn es speichert IP-Adressen. Das ist nicht mehr erlaubt.
Dazu folgende Anleitung:
Patch core/components/quip/processors/web/comment/create.php and comment line 118
$comment->set('ip',$_SERVER['REMOTE_ADDR']);
Englischer Monat - Datumsformat
Wenn zum Beispiel mit Quip immer der falsche Monat im Kommentartemplate ausgegeben wird, dann kann die Variable 'locale' in den Systemeinstellungen geändert werden. Ich habe diesen Wert eingetragen
de_DE.UTF8
Hat geholfen