Hilfe, Avidota fügt unbekannten Code in meinen Newsletter ein!

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • NoName26
    Contao-Fan
    • 13.08.2010
    • 304

    #1

    Hilfe, Avidota fügt unbekannten Code in meinen Newsletter ein!

    Hallo,

    ich möchte den im WYSIWYG-Editor erstellen Newsletter-Content in eine Tabellenzelle des Templates einfügen:
    Code:
    <tr>
    <td colspan="2">
    
    <?php echo $this->body; ?>
    
    </td>
    </tr>
    Der Newsletter besteht ebenfalls aus einer Tabelle:
    Code:
    <table style="background-color: #ffffff; margin: 0px auto; width: 470px;" cellspacing="0" cellpadding="0">
    <tbody>
    [I][...][/I]
    </tbody>
    </table>
    Im fertigen Newsletter müsste der Code also wie folgt aussehen:
    Code:
    <tr>
    <td colspan="2">
    
    <table style="background-color: #ffffff; margin: 0px auto; width: 470px;" cellspacing="0" cellpadding="0">
    <tbody>
    [I][...][/I]
    </tbody>
    </table>
    
    </td>
    </tr>
    Tatsächlich wird jedoch eine neue Zeile geöffnet, deren Herkunft ich mir nicht erklären kann:
    Code:
    <tr>
    <td colspan="2">
    
    [COLOR="#FF0000"]<tr>
    <td valign="top" class="ce_text text">[/COLOR]
    
    <table style="background-color: #ffffff; margin: 0px auto; width: 470px;" cellspacing="0" cellpadding="0">
    <tbody>
    [I][...][/I]
    </tbody>
    </table>
    
    [COLOR="#FF0000"]</td>
    </tr>[/COLOR]
    
    </td>
    </tr>
    Dieser Code wird übrigens immer um den Content gesetzt, ganz gleich, ob ich im Template eine Zelle öffne oder nicht. Weil in dem zusätzlichen Code ein colspan="2" fehlt, wird der Newsletter falsch dargestellt.

    Hat jemand eine Idee, wie ich dieses Problem lösen kann? Ich habe vorerst im Template vor und nach dem Newsletter-Body eine weitere Tabelle geöffnet/geschlossen, aber das kann ja eigentlich nicht Sinn der Sache sein:
    Code:
    <tr>
    <td colspan="2">
    [COLOR="#FF0000"]<table width="470" border="0" cellpadding="0" cellspacing="0" style="margin:0">
    <tbody>
    [/COLOR]<?php echo $this->body; ?>
    [COLOR="#FF0000"]</tbody>
    </table>
    [/COLOR]</td>
    </tr>
    Zuletzt geändert von NoName26; 20.03.2013, 12:43.
    Viele Grüße, TN
  • Messa
    Alter Contao-Hase
    • 19.01.2011
    • 1423

    #2
    Habs jetzt nicht genau durchgelesen.
    Aber was ist wenn du das so machst?
    Code:
    <tr>
      <td colspan="2">
         <table>
            <?php echo $this->body; ?>
         </table>
      </td>
    </tr>

    lg Matthias
    Zuletzt geändert von Messa; 20.03.2013, 12:50.
    Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
    http://www.matthiasgmeiner.com

    Kommentar

    • NoName26
      Contao-Fan
      • 13.08.2010
      • 304

      #3
      Hallo Matthias,

      hab gerade meinen Thread oben aktualisiert, weil ich genau das gemacht habe. Aber Für mich ist das nur eine Notlösung. Möchte den Code eigentlich "ordentlich" haben...
      Viele Grüße, TN

      Kommentar

      • Messa
        Alter Contao-Hase
        • 19.01.2011
        • 1423

        #4
        Du könntest noch die Sache mit PHP bereinigen:

        Löscht alle HTML Tags
        PHP-Code:
        <?php echo strip_tags($this->body); ?>
        -> http://php.net/manual/de/function.strip-tags.php

        Löscht alle in () definierten Sachen
        PHP-Code:
        <?php echo trim($this->body, 'was soll gelöscht werden'); ?>
        -> http://php.net/manual/de/function.trim.php

        lg Matthias
        Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
        http://www.matthiasgmeiner.com

        Kommentar

        • NoName26
          Contao-Fan
          • 13.08.2010
          • 304

          #5
          Damit werden die Elemente aber auch in meinem Content gelöscht ;-)
          Viele Grüße, TN

          Kommentar

          • Messa
            Alter Contao-Hase
            • 19.01.2011
            • 1423

            #6
            Bin leider kein PHP Profi
            Aber so was eventuell?

            PHP-Code:
            <?php echo trim($this->body, '<tr><td valign="top" class="ce_text text"></td></tr>'); ?>
            Bin mir nur nicht sicher ob er da alle die Sachen im Body dann löscht.

            Und sonst damit leben, dass nocheine Tabelle da ist

            lg Matthias
            Zuletzt geändert von Messa; 20.03.2013, 13:33.
            Full Service Agentur - Grafikdesign, Screendesign, Webdesign, Webentwicklung, SEO, Weiterbildung, persönliches Coaching
            http://www.matthiasgmeiner.com

            Kommentar

            Lädt...