Monat: Dezember 2008

  • Bei Typo3-Inhaltselementen Text m/Bild in Kombination mit Yaml werden Bilder falsch an dem unteren Seitenrand platziert

    Bei der Kombination von Typo3 und dem CSS-Framework Yaml trat folgendes Problem auf:


    Bei dem Einfügen von mehreren Typo3-Contentelementen vom Typ Text m/Bild wurde das letzte Inhaltselement immer an dem Seitenende platziert (rot). Eine nähere Untersuchung ergab, dass die folgende, von Typo3 generierte HTML-Zeile die Ursache für dieses unerwünschte Verhalten war:

    <div class=“csc-textpic-clear“></div>

    Im Yaml-Forum fand ich den entscheidenden Hinweis zur Lösung dieses Problems.  Man muss der umgebenden Div-Box die Klasse floatbox zuweisen. Eine Erklärung dieser Klasse findet man in der Yaml-Dokumentation. Mit der Klasse floatbox werden die Text mit Bild Inhaltselemente wieder richtig platziert (grün).

  • Variablen bei sed-Ausdrücken

    Problem: Beim Suchen und Ersetzen eines Strings in einer Textdatei mit dem Linux-Programm sed (Stream Editor) trat das Problem auf, dass bei der Verwendung von Shellvariablen als Suchmuster der gewünschte Text, also der Wert der Variablen, nicht durch den Zieltext ersetzt wurde. Ein Test ohne Variablen funktionierte aber ohne Probleme.

    sed ’s/suchmuster/zieltext/g‘ Eingabedatei > Ausgabedatei
    mv Ausgabedatei Eingabedatei

    ersetzte den Text „suchmuster“ in der „Eingabedatei“ mit dem Text „zieltext“ und schrieb das Ergebnis in die „Ausgabedatei“.

    Folgendes funktionierte aber nicht:

    suchmuster=“das ist der quelltext“
    zieltext=“das ist der zieltext“
    sed ’s/$suchmuster/$zieltext/g‘ Eingabedatei > Ausgabedatei
    mv Ausgabedatei Eingabedatei

    Der Text „das ist der quelltext“ wurde nicht durch den Text „das ist der zieltext“ ersetzt.

    Lösung: Durch eine Suchmaschinenrecherche fand ich die Lösung. Sed wertet den Inhalt von Variablen nicht aus, wenn man einfache Anführungszeichen (‚) beim Erstellen des Ausdrucks verwendet. Ersetzt man die einfachen Anführungszeichen durch doppelte Anzührungszeichen („), werden zuerst die Variablen expandiert und dann erst der Sed-Ausdruck ausgeführt.

    Der funktionierende Code sah dann so aus:

    suchmuster=“das ist der quelltext“
    zieltext=“das ist der zieltext“
    sed s/$suchmuster/$zieltext/g Eingabedatei > Ausgabedatei
    mv Ausgabedatei Eingabedatei

    Quelle: http://www.unixboard.de