[[- 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 =====
[[http://rtfm.modx.com/revolution/2.x/making-sites-with-modx/structuring-your-site/chunks|MODX RTFM: Chunks]]
===== Packages =====
==== Wayfinder ====
* [[http://sottwell.com/pdf.html?file=assets%2Ffiles%2FWayfinder%20Cheatsheet.pdf|Wayfinder Cheat Sheet für Evolution]] - trotzdem nützlich
* [[http://sottwell.com/pdf.html?file=assets%2Ffiles%2FUsing%20Wayfinder.pdf|Wayfinder eBook 2009]]
===== 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:
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: [[http://www.sepiariver.ca/blog/modx-web/modx-quick-tip-get-id-of-grandparent/|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:
Der Output-Modifier kann nun wie folgt aufgerufen werden:
[[+publishedon:strtotime:dateLocale=`%e. %B %Y`]]
Quelle: [[http://forums.modx.com/thread/82522/how-to-set-a-specific-locale-for-the-date-output-filter#dis-post-506866|MODX Forums: How to set a specific locale for the :date output filter?]]
==== Arnes Snippets ====
* [[https://gist.github.com/akamola/a2c7bbe8de757a2b3421|dateLocal]]
* [[https://gist.github.com/akamola/27ed4bd3919bb723931d|grandparent]]
===== Sicherheit/Rechte =====
* [[https://www.youtube.com/watch?v=PKdBvhmZtIw|YouTube: MODX: ACL: Customize the manager using Access Controls, User Groups and Roles]]
* [[http://bmv-interactive.com/home/modx-acl-tutorial.html|BMV-Interactive: MODX: ACL Security Tutorial]]
===== Mehrsprachigkeit =====
Mehrsprachige MODX-Websites am besten mit [[babel|Babel]].
==== Jumper-Link ====
===== Erweiterungen =====
* [[http://rtfm.modx.com/extras/revo/getresources|getResources]]
* [[getresources|Weiteres zu getResources]]
* [[http://rtfm.modx.com/extras/revo/wayfinder|Wayfinder]]
* [[http://www.belafontecode.com/image-manipulation-with-phpthumbof-in-modx-revolution/|pthump oder phpthumb]]
==== Weitere Erweiterungen ====
* [[http://rtfm.modx.com/extras/revo/articles|Articles]]
==== Kommerzielle Erweiterungen ====
* [[https://www.modmore.com/|modmore]]
* [[https://www.modmore.com/extras/moregallery/|MoreGallery]]
* [[https://www.modmore.com/extras/redactor/|Redactor]]
* [[https://www.modmore.com/extras/simpleab/|SimpleAB]]
===== Links =====
* [[http://modx.com/|MODX]]
* [[https://pinboard.in/u:aberaberarne/t:modx|Arnes Link-Sammlung zu MODX]]
===== 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.
[[http://de.modx.com/forum/thread/2033/geloest-tinymce-fuegt-p-tags-ein-wo-er-nicht-soll|Quelle: Modx-Forum ]]
==== Dynamischer Chunk-Aufruf ====
Der gewöhnliche Chunk-Aufruf sieht so aus:
[[$meinchunk?]]
In dem Chunk $meinchunk soll zum Beispiel stehen:
Hier soll spezieller Text hin
Diesen kann man nun dem Chunk-Aufruf mitgeben. Und zwar so:
[[$meinchunk? &meintext=`Hallo! Das klappt ja super!`]]
Im Chunk schreibt man:
[[+meintext]]
Ergebnis:
Hallo! Das klappt ja super!
=== 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=`
Leider kein Glück!
`]]
=== IF / ELSE MIT PDO Field ===
[[pdoField:isequalto=`1`:then=`Ist 1
`:else=`Ist null
`? &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 ====
[[https://docs.modx.com/revolution/2.x/administering-your-site/settings/system-settings/resource_tree_node_name||Baum mit Menütitel]]
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']);
[[https://forums.modx.com/thread/103923/quip-anonymize-ip-in-comments---dsgvo|QUIP DSGVO IP Adressen speichern abstellen im MODX Forum]]
==== 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