2016-05-05 6 views
1

Ich bearbeite die E-Mails für Joomla so sieht es ein bisschen besser aus Jetzt wollte ich die Registrierung E-Mail bearbeiten, da es nur Text ist Ich habe 2 Dateien gefunden, die Auswirkungen auf die haben E-Mail:Ein Bild zu Joomla hinzufügen Registrierungs-E-Mail

com_users/model/registration.php
Sprache/com_users.ini

Nun mag die Sprachdatei, aber ich werde ich in der Lage gewesen, den Text in der E-Mail bearbeiten ein Bild hinzufügen die E-Mail

Ich habe das in der PHP-Datei versucht: $ emailbody =

   JText::sprintf(
       "<img style='width: 200px' src='imageurl'> 
       <img src='imageurl'>". 
      'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY', 
       $data['name'], 
       $data['sitename'], 
       $data['activate'] 
       $data['siteurl'], 
       $data['username'], 
       $data['password_clear'] 
      ); 

aber das kommt zurück als Klartext Ist es möglich, die E-Mail setzen E-Mails in HTML, so dass die HTML angezeigt?

+0

Sie können HTML-Inhalt/Tags für JText :: _ oder JText :: sprintf-Funktionen nicht übergeben. Verwenden Sie JHtml für HTML-Inhalt. –

+0

Das klingt logisch, ich habe es versucht, aber ich kann es nicht zum Laufen bringen. Wie würde ich das verwenden, wenn ich nur den Code dort hinzufügen möchte? Ich habe versucht, JText :: sprintf in JHtml :: sprintf zu ändern, was eine leere Seite, JHtml :: _ gibt, die einen Fehler von 500 ergibt, wenn ich es google finde, kann ich keine Möglichkeit finden, dort normalen HTML hinzuzufügen – user2620358

+0

Sie müssen JHtml Klasse importieren zuerst. Für Bild verwenden Sie JHtml :: image ($ args). Überprüfen Sie diesen Link https://docs.joomla.org/API16:JHtml/image –

Antwort

1

Ich bin mir nicht sicher, was genau Sie suchen, aber Sie können den untenstehenden Code überprüfen, wenn es funktioniert?

// include JHtml class 
jimport('joomla.html.html'); 

// for Image 
$emailBody =JHTML::image($filepath, $alt); 
// for text 
$emailBody .= 
JText::sprintf(
'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY', 
$data['name'], 
$data['sitename'], 
$data['activate'], 
$data['siteurl'], 
$data['username'], 
$data['password_clear'] 
); 

ODER

$emailBody = "<img style='width: 200px' src='imageurl'> 
      <img src='imageurl'>"; 
$emailBody .= 
JText::sprintf(
'COM_USERS_EMAIL_REGISTERED_WITH_ACTIVATION_BODY', 
$data['name'], 
$data['sitename'], 
$data['activate'], 
$data['siteurl'], 
$data['username'], 
$data['password_clear'] 
    ); 

Bitte korrekten $ filepath oder scr für Bilder verwenden.

+0

Ich habe beide Optionen ausprobiert, aber in beiden Situationen zeigt es immer noch nur den Code als Klartext innerhalb der E-Mail anstelle von HTML Ich denke, vielleicht Joomla unterstützt diese Option in ihren Registrierungs-E-Mails nicht – user2620358

+1

können Sie den Code anzeigen, den Sie zum Senden von E-Mails verwenden. Aktivieren Sie HTML-Modus beim Senden von E-Mails. $ mailer-> isHTML (true); ODER JFactory :: getMailer() -> sendMail ($ from, $ abname, $ käuferEmail, $ subject, $ body, true); –

+0

Für das Senden von E-Mails mit HTML-Code überprüfen Sie bitte den Link http://StackOverflow.com/Questions/20851830/mail-content-shows-as-html-code-in-joomla-3 –