Vanilla 1.1.2 Forum von Lussumo. Weitere Informationen: Dokumentation, Community.

    • CommentAuthorRetrofan
    • CommentTime18.07.2012
     permalink
    Hi,
    ich habe früher mit Joomla gern das Addon "Rereplacer" genutzt. Das kann per Reg-Ex sämtlichen Inhalt vor der Ausgabe durchwühlen und Textstellen nach Bedarf ersetzen.
    Beispielsweise lasse ich damit an allen Stellen an denen im Inhalt ein bestimmter Name vorkommt, diesen durch einen speziell formatierten Text ersetzen.
    Genau das möchte ich nun auch mit MODx machen: Immer wenn im [[*content]] ein bestimmtes Wort vorkommt, möchte ich es bei der Ausgabe durch ein anders formatiertes ersetzen. Geht das mit den Output Filtern? Ich hab das hier gelesen: http://rtfm.modx.com/display/revolution20/Input+and+Output+Filters+%28Output+Modifiers%29 aber nicht richtig verstanden... Wenn ich richtig sehe, kann ich damit nur den gesamten Inhalt eines Elements oder einer TV beschneiden o.ä.
    Hat da jemand eine Lösung oder eine Idee parat?
    Danke schonmal für Tipps!
    • CommentAuthorMarkus1
    • CommentTime18.07.2012 bearbeitet
     permalink
    Keine AHnung ob du da was mit den vorhanden PHx-Output FIlter machen kannst.
    Ich hab für Evo ein Plugin laufen, das etwas im HTML-Code aufräumt.
    z.B.

    $e= & $modx->Event;
    switch ($e->name) {
    case "OnWebPagePrerender":
    $o = &$modx->documentOutput; // get a reference of the output

    $o = str_replace('alt=""','alt="webseite.de"',$o);
    $e->output($o); // stop here - this is very important.
    return '';
    break;
    }

    Also normale replace Fkt.
    Du kannst sicherlich eine Regex einbauen und so erweitern, dass nur zwischen <body></body> gsucht wird.

    Das ist allerdings nicht sehr praktikabel, wenn sich der "Ersetztext" (je nach Dokument) ändert.
    Markus
    •  
      CommentAuthorjolic
    • CommentTime18.07.2012 bearbeitet
     permalink
    meinst du sowas: [[*content:replace=`DEBI==DEBIAN`]] ?

    mit den Output Filtern geht schon vieles ;-)
    • CommentAuthorRetrofan
    • CommentTime18.07.2012
     permalink
    Jo, danke!

    Jetzt bin ich auch gerade drauf gekommen. Es geht total einfach. Ich hab jetzt ein Snippet, in etwa so:

    [[*content:MeinReplacer]]


    Welches einfach per PHP den $input durchsucht und meine gewünschten Ersetzungen vornimmt. Da es mehrere sind, war das mit dem Snippet glaube ich eine gute Idee. Ist jetzt auch Übersichtlich.

    Danke euch, mir war gar nicht bewusst, wie einfach das gehen kann.
    •  
      CommentAuthorjolic
    • CommentTime18.07.2012 bearbeitet
     permalink
    Ja mit so einem 'Custom Output Filter' steht dir alles offen.
    Wer will denn da noch Joomla benutzen? *lol*

    [[*cms:replace=`Joomla==MODX`]] :devil:
    •  
      CommentAuthorganeshXL
    • CommentTime18.07.2012
     permalink
    brrrr, Joomla :(:devil: