Powermail: ###POWERMAIL_ALL### ändern, wo? wurde Beantwortet

Autor Nachricht
Verfasst am: 27.04.2008 [20:09]
DiePicknickerin

[Themenersteller]
dabei seit: 16.10.2005
Beiträge: 94

Hallo,

die Extension ist ja sowas von Klasse! Ich hätte gar nicht erwartet, auch für unerfahrene Admins eine Mail-Funktion bereitstellen zu können.

2 Probleme habe ich noch:

1. Im Template tmpl_all.html möchte ich die Tabellen-Ausgabe in eine Definition List ändern - aber nun werden die Tags komplett umschlossen von <p>-Tags ausgegeben, obwohl ich im Template alles normal von den vorgegebenen Markern umschlossen hatte:
Html4strict:Zeilennummerierung:  An / Aus

  1. <!-- ###POWERMAIL_ALL### begin -->
  2.         <dl>
  3.     <!-- ###CONTENT### --><!-- ###ITEM### -->
  4.         <dt>###POWERMAIL_LABEL###</dt>
  5.         <dd>###POWERMAIL_VALUE###</dd>
  6.     <!-- ###ITEM### --><!-- ###CONTENT### -->
  7.     </dl>
  8.        
  9. <!-- ###POWERMAIL_ALL### end -->


wird zu:
Html4strict:Zeilennummerierung:  An / Aus

  1. <p class="bodytext"> <dl></p>
  2. <p class="bodytext" />
  3. <p class="bodytext"> <dt>Ihr Name:</dt></p>
und so weiter

2. Ich möchte gerne noch eine mx-Records-Abfrage beim Email-Check haben, damit so Sachen wie foo[at]foo[dot]bar nicht mehr ankommen können. Die schlüpfen nämlich bei fast allen Checks durch die Email-Validierung...

Wo könnte ich das einfügen?

Danke schon mal im voraus und noch mal: Kompliment und Hochachtung!

Gruß vom Sonntags-Picknick
Verfasst am: 28.04.2008 [08:35]
einpraegsam.net

[Moderator]
dabei seit: 17.01.2005
Beiträge: 4636

1. Wir sind auch nicht glücklich mit der momentanen Lösung - eventuell werden wir da nochmal nachlegen

Probier mal:
Html4strict:Zeilennummerierung:  An / Aus

  1. <!-- ###POWERMAIL_ALL### begin --><dl><!-- ###CONTENT### --><!-- ###ITEM### --><dt>###POWERMAIL_LABEL###</dt><dd>###POWERMAIL_VALUE###</dd><!-- ###ITEM### --><!-- ###CONTENT### --></dl><!-- ###POWERMAIL_ALL### end -->



2. Wäre ein Feature das sich einbauen ließe...

Powermail :: Einprägsam :: Smokethis :: Xing Profil :: conject
Verfasst am: 28.04.2008 [09:32]
DiePicknickerin

[Themenersteller]
dabei seit: 16.10.2005
Beiträge: 94

zu 1.: Mhm... nein leider nicht. Die Ausgabe gibt das HTML mit aus.

Wobei das unterschiedlich ist: in der Confirmation-Ansicht wird ja auf das gleiche Template zurückgegriffen - jedenfalls ist es so eingestellt.

Dort bekomme ich ganz korrekt:
Html4strict:Zeilennummerierung:  An / Aus

  1. <div class="tx-powermail-pi1_confirmation">
  2.                 <p>Sind diese Angaben korrekt?</p>
  3.                
  4.                 <p><dl><dt>Ihr Name:</dt><dd>momo</dd><dt>Ihre Email-Adresse:</dt><dd>email@gmail.com</dd><dt>Ihre Nachricht:</dt><dd>jfkd lajkfdlö</dd></dl></p>
  5.  
  6.                
  7.                 <form name="kontakt_confirmation_back" action="index.php?id=29" method="post" class="tx_powermail_pi1_formconfirmation_back">
  8.                         <input type="submit" value="Zurück" class="tx-powermail-pi1_confirmation tx-powermail-pi1_confirmation_back" />
  9.                 </form>
  10.                 <form name="kontakt_confirmation_submit" action="index.php?id=29&tx_powermail_pi1[mailID]=157&tx_powermail_pi1[sendNow]=1&cHash=6c36791770" method="post" class="tx_powermail_pi1_formconfirmation_submit">
  11.                         <input type="submit" value="Angaben abschicken" class="tx-powermail-pi1_confirmation tx-powermail-pi1_confirmation_submit" />
  12.                 </form>
  13.         </div>


Das klappt also völlig korrekt, bis auf 2 x form für jeweils einen Button. Aber die thx-Ansicht sieht dann wieder so aus:

Vielen Dank für Ihre Nachricht. Sie haben folgende Eingaben gemacht:
<dl><dt>Ihr Name:</dt><dd>momo</dd><dt>Ihre Email-Adresse:</dt><dd>email@gmail.com</dd><dt>Ihre Nachricht:</dt><dd>dudeldaddeldu</dd></dl>

Was kann das denn sein? Das sollte sich doch anpassen lassen!? Kann es sein, dass er einfach überflüssigerweise das komplette Template nochmal parst und deshalb diese <p class="bodytext"> inklusive html-Quelltext ausgibt?

//edit: die HTML-Emails kommen übrigens auch mit HTML-Fehler an...

Danke nochmal und Gruß!

[Dieser Beitrag wurde 1 mal bearbeitet. Zuletzt am 28.04.2008 um 09:33]
Verfasst am: 28.04.2008 [09:39]
einpraegsam.net

[Moderator]
dabei seit: 17.01.2005
Beiträge: 4636

DiePicknickerin schrieb:

Kann es sein, dass er einfach überflüssigerweise das komplette Template nochmal parst...


Japp, einmal für den RTE und einmal im HTML Template - das macht schon Sinn, jedoch nur bedingt...

Powermail :: Einprägsam :: Smokethis :: Xing Profil :: conject
Verfasst am: 28.04.2008 [10:11]
DiePicknickerin

[Themenersteller]
dabei seit: 16.10.2005
Beiträge: 94

Warum kann dann das Original-Template korrekt arbeiten?

Das tut doch auch nix anderes, als eine HTML-Struktur vorzugeben...icon_confused.gif

Bleibt es also dabei, dass ich vorerst das tmpl_all.html nicht abändern kann?
Verfasst am: 28.04.2008 [10:20]
einpraegsam.net

[Moderator]
dabei seit: 17.01.2005
Beiträge: 4636

DiePicknickerin schrieb:

Bleibt es also dabei, dass ich vorerst das tmpl_all.html nicht abändern kann?


Du kannst das Template ändern wie du willst...

Powermail :: Einprägsam :: Smokethis :: Xing Profil :: conject
Verfasst am: 28.04.2008 [10:43]
DiePicknickerin

[Themenersteller]
dabei seit: 16.10.2005
Beiträge: 94

icon_eek.gif naja, das hatte ich ja auf dem üblichen Weg versucht... Gibts noch einen heißen Tipp?
icon_rolleyes.gif

Aus den BE-Feldern dann ###POWERMAIL_ALL### rausnehmen und einzelne UIDs nehmen, oder wie?

Gruß
Verfasst am: 28.04.2008 [11:06]
einpraegsam.net

[Moderator]
dabei seit: 17.01.2005
Beiträge: 4636

DiePicknickerin schrieb:

icon_eek.gif naja, das hatte ich ja auf dem üblichen Weg versucht... Gibts noch einen heißen Tipp?
icon_rolleyes.gif

Aus den BE-Feldern dann ###POWERMAIL_ALL### rausnehmen und einzelne UIDs nehmen, oder wie?

Gruß


Das geht natürlich auch

Powermail :: Einprägsam :: Smokethis :: Xing Profil :: conject
Verfasst am: 28.04.2008 [12:35]
DiePicknickerin

[Themenersteller]
dabei seit: 16.10.2005
Beiträge: 94

OK, ich habs gelöst - die Idee mit dem RTE war natürlich schon mal richtig. Ich hatte allerdings noch nicht die Definition Lists im RTE selbst erlaubt - daher noch die unnötige Umklammerung. Nachdem ich erstmal in der Ext. selbst gewühlt hatte, kam ich doch noch drauf:

im PageTS der Root-Seite hatte ich bereits Formatierungen für den RTE eingefügt. Aber im TS-Template noch nicht:

Also schnell noch
Typoscript:Zeilennummerierung:  An / Aus

  1. # do not wrap with <p...>:
  2. lib.parseFunc_RTE.nonTypoTagStdWrap.encapsLines.encapsTagList = dl, dt, dd, cite, div, p, pre, hr, h1, h2, h3, h4, h5, h6,table,tr,td
  3.  
  4. und
  5. #allowed tags in RTE-Fields:
  6. lib.parseFunc_RTE.allowTags = dl, dt, dd, b,i,a,img,br,div,center,hr,sub,sup,p,strong,em,li,ul,ol,blockquote,span,h1,h2,h3,h4,h5,h6,acronym,abbr;


Und dann klappts auch mit dem Template...

Danke nochmal für die Geduld icon_wink.gif
Verfasst am: 28.04.2008 [15:56]
einpraegsam.net

[Moderator]
dabei seit: 17.01.2005
Beiträge: 4636

DiePicknickerin schrieb:

2. Ich möchte gerne noch eine mx-Records-Abfrage beim Email-Check haben, damit so Sachen wie foo[at]foo[dot]bar nicht mehr ankommen können...


Habe ich erstellt - hier der Workarround bis zur nächsten Version:

1. Neue Funktion in die Datei lib/class.tx_powermail_functions_div.php
Php:Zeilennummerierung:  An / Aus

  1. // Function checkMX() checks if a domain exists
  2.         function checkMX($email,$record = 'MX') {
  3.                 list($user,$domain) = split('@',$email); // split email in user and domain
  4.                
  5.                 if (checkdnsrr($domain,$record) == 1) return TRUE; // return true if mx record exist
  6.                 else return FALSE; // return false if not
  7.         }


2. Funktion emailCheck() mit neuem Code ersetzen - Datei pi1/class.tx_powermail_mandatory.php
Php:Zeilennummerierung:  An / Aus

  1. function emailCheck() {
  2.                 if($this->pibase->cObj->data['tx_powermail_sender'] && is_array($this->sessionfields)) { // If email address from sender is set in backend
  3.                         if($this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']]) { // if there is content in the email sender field
  4.                                 if(!t3lib_div::validEmail($this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']])) { // Value is not an email address
  5.                                         $this->sessionfields['ERROR'][str_replace('uid','',$this->pibase->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_validemail'); // write error message to session
  6.                                 } else { // Syntax of email address is correct - check for MX Record
  7.                                         if( !$this->div_functions->checkMX( $this->sessionfields[$this->pibase->cObj->data['tx_powermail_sender']] )) $this->sessionfields['ERROR'][str_replace('uid','',$this->pibase->cObj->data['tx_powermail_sender'])][] = $this->pi_getLL('error_nomx'); // write error message to session
  8.                                 }
  9.                         }
  10.                 }
  11.         }



Grüße, Alex

Powermail :: Einprägsam :: Smokethis :: Xing Profil :: conject




 
TYPO3 Version 4.2.0 testen

TYPO3 Ver. 4.2.0 testen

Testen Sie die neue TYPO3 Version 4.2.0 kostenlos für einen Monat

TYPO3 Bücher

TYPO3 Workshops


TYPO3 Einführungsschulung
in Berlin:
Montag, 07.07.
in Espelkamp:
Montag, 04.08.

TYPO3 Intensivschulung
in Espelkamp:
Mi., 06.08. - Fr., 08.08.
in Würzburg:
Mo., 18.08. - Mi., 20.08.
in Köln:
Mo., 01.09. - Mi., 03.09.
in Berlin:
Mi., 24.09. - Fr., 26.09.

TYPO3 Extensionschulung
in Berlin:
Mo., 14.07. - Mi., 16.07.
in Espelkamp:
Mo., 11.08. - Mi., 13.08.