it-swarm.com.de

Fügen Sie mehrere Empfänger-E-Mail-Adressen hinzu. Joomla Page Builder

Ich verwende Joomla und SP Page Builder. Ich habe Back-End-Seite und Front-End-Seite. Ich möchte mehrere Empfänger für gesendete E-Mails aus meinem Kontaktformular hinzufügen. Ich habe verwandte Codes gefunden Was sollte bearbeitet werden, um mehrere E-Mail-Adressen in mein Back-End aufzunehmen? Ich habe versucht, damit zu spielen

$recipients = array(
  "[email protected]",
);
$email_to = implode(',', $recipients); 

ohne Erfolg

Hier ist mein Front-End-Code:

$recipient_email = (isset($this->addon->settings->recipient_email) && $this->addon->settings->recipient_email) ? $this->addon->settings->recipient_email : '';

Folgendes habe ich im Backend:

    'recipient_email'=>array(
        'type'=>'text',
        'title'=>JText::_('COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_RECIPIENT_EMAIL'),
        'desc'=>JText::_('COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_RECIPIENT_EMAIL_DESC'),
        'std'=>'[email protected]'
    ),
2
HiFo

Ich habe es so gelöst ...

1) Erstellen Sie in Ihrem Vorlagenordner einen Überschreibungsordner (falls nicht vorhanden) für das Kontaktformular-Add-On. Kopieren Sie den Inhalt von

<joomla_root_path>/components/com_sppagebuilder/addons/ajax_contact

zu

<joomla_root_path>/templates/sppagebuilder/addons/ajax_contact

2) Fügen Sie in der Datei admin.php Nach dem Array 'recipient_email' Den folgenden Code ein

'recipient_email_2' => array(
  'type' => 'text',
  'title' => JText::_( 'COM_SPPAGEBUILDER_ADDON_AJAX_CONTACT_RECIPIENT_EMAIL' ) . ' 2',
  'desc' => 'This is another recipient email address. Optional.',
  'std' => '[email protected]'
), 

3) Fügen Sie in der Datei site.php Den folgenden Code hinzu.

Fügen Sie in public function render() unter //Addon options Den folgenden Code hinzu:

$recipient_email_2 = ( isset( $this->addon->settings->recipient_email_2 ) && $this->addon->settings->recipient_email_2 ) ? $this->addon->settings->recipient_email_2 : '';

Dann suchen Sie nach dieser Zeile:

$output .= '<input type="hidden" name="recipient" value="' . base64_encode( $recipient_email ) . '">';

Und fügen Sie Folgendes hinzu:

$output .= '<input type="hidden" name="recipient-2" value="' . base64_encode( $recipient_email_2 ) . '">';

Suchen Sie in der public function getAjax() unter //inputs Nach diesem Code:

  if ( $input[ 'name' ] == 'recipient' ) {
    $recipient = base64_decode( $input[ 'value' ] );
  }

Fügen Sie dies unten hinzu:

  if ( $input[ 'name' ] == 'recipient-2' ) {
    $recipient_2 = base64_decode( $input[ 'value' ] );
  }

Dann suchen Sie nach dieser Zeile:

$mail->setSender( $sender );

Und fügen Sie diesen Code unten hinzu:

if ( isset( $recipient_2 ) && !empty( $recipient_2 ) ) {
  $recipientArray = array( $recipient, $recipient_2 );
  $mail->addRecipient( $recipientArray );
} else {
  $mail->addRecipient( $recipient );
}

Das ist es! Sie sollten ein neues Feld im Administrator sehen und es sollte wie erwartet mit einem oder zwei Empfängern funktionieren.

(enter image description here

Ich hoffe es hilft! Grüße.

2
Pablo