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, die ich eigentlich auf meinen Installationen fast immer installiere:
site_name
von „MODX Revolution“ in den Namen der Website ändern.
Wenn die Seite eine Tagline oder Motto hat, dann kann dazu im Kontext eine neue Eigenschaft wie site_tagline
angelegt werden.
Ggf. im Kontext der Website: site_url
für die richtige Adresse im BASE
-Tag.
Die Fehler Seite kann bei error_page
festgelegt werden.
Auch diese beiden Einstellungen im Menü anzeigen
und veröffentlicht
lassen sich für die Website einstellen.
Eine gute Alternative ist das Update-Script von sottwell: https://github.com/sottwell/installer
install.php
ins Hauptverzeichnis der Website legeninstall.php
aufrufen: http://example.com/install.phpAchtung: 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.
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?
[[- Das ist ein Kommentar in der MODX-Template-Syntax ]]
In getResources:
[[+publishedon:strtotime:date=`%Y-%m-%d`]]
In pdoResources
[[+publishedon:date=`%Y-%m-%d`]]
[[~[[*id]]? &scheme=`full`]]
[[+p0301Headline:strtolower:stripString=` `]]
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
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?
Mehrsprachige MODX-Websites am besten mit Babel.
<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>
In den Einstellungen (Custom Parameters) des Plugins Tiny MCE forced_root_block:false eintragen behebt das Problem.
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>
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> `]]
[[pdoField:isequalto=`1`:then=`<p>Ist 1</p>`:else=`<p>Ist null</p>`? &id=`2393` &field=`showelement-headersponsor` ]]
In den System-Einstellungen „tvs_below_content“ auf ja setzen
In den System-Einstellungen „resource_tree_node_name“ auf „menutitle“ setzen. Es gibt ein Fallback für Seiten, die keinen „menutitle“ haben.
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']);
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