PHx-Modifier: outer

von Thomas Jakobi am Montag, 6. April 2009 um 16:12 Uhr.

PHx ist eine sehr mächtige Erweiterung für MODx. Mit diesem Plugin lassen sich Platzhalter, Template-Variablen und auch Snippet-Ausgaben mittels einer einfachen Syntax verändern, mit einem Wert vergleichen etc. Eigene PHx-Modifier können sehr einfach in PHP hinzugefügt werden.

So lässt sich mit folgendem Modifier eine Template-Variable in beliebigem Text einbetten, falls sie nicht leer bzw. gesetzt ist.

Voraussetzungen

Folgende Plugins/Snippets müssen installiert und funktionsfähig sein:

PHx

Es wird eine Datei im Verzeichnis assets/plugins/phx/modifiers angelegt und mit folgendem Inhalt bestückt:

outer.phx.php
<?php
 
// description: surround not empty string with text
// usage: [+string:outer=`before|after`+] 
 
$options = explode("|", $options);
$outer = '';
 
if (trim($output) != '') {
    $outer = $options[0] . $output . $options[1];
}
return $outer;

 

Nun lässt sich mit


die Template Variable string zwischen 'vorher' und 'nachher' einfügen. Da string auch z.B. mit einem Ditto-Aufruf gefüllt werden kann, lässt sich so für Ditto einfach ein outer-Template nachrüsten:

[[*phx:input=`[[pdoResources? 
    &amp;noResults=` `
    &amp;includeContent=`1`
    &amp;includeTVs=`keywords,sitemap_priority,sitemap_changefreq,blogtags,BlogSerie`
    &amp;prepareTVs=`1`
    &amp;processTVs=`1`
    &amp;tvPrefix=``
]]`:outer=`&lt;div class="xyz"&gt;|&lt;/div&gt;`]]

Viel Erfolg

Bislang habe ich folgende PHx Modifier veröffentlicht: