2015-04-13 2 views
0

Я использую TYPO3 6.2.11, tt_address 2.3.5 и direct_mail 4.0.1 и прислал мне несколько бюллетеней по тестированию с внутренней страницы TYPO3. Все работает нормально.Используйте поля tt_address в бюллетене direct_mail

Теперь, я хочу отправить некоторые поля данных из моего tt_address-table, например name или title.

Как зовут tt_address-MARKER, я буду использовать в своем содержании страницы?

Я также добавить follwing к [basic.addRecipFields] на direct_mail экстензий:

name,first_name,last_name,email,description,title 

Но ничего не происходит. Я не могу использовать tt_address-поля в своем рассылке direct_mail. Надеюсь, кто-то может мне помочь, спасибо.


Другая возможность заключается в использовании fe_user -data для моего бюллетеня (felogin). Как я могу использовать поля фелогина, такие как password или username на моем шаблоне?

ответ

2

Вам необходимо указать поля USER_ и обернуть маркер в ###. Так, например, если вы хотите использовать адрес электронной почты, напишите ###USER_email###. Вы можете найти все возможности в Direct Mail documentation.

Заметка о посылке пароля: это будет огромный риск для безопасности, но это невозможно, так как пароли fe_users хранятся по крайней мере в хэшированном (а в настоящее время и зашифрованном виде) в базе данных. Но вы можете использовать маркер ###SYS_AUTHCODE### для генерации кода аутентификации, который вы можете использовать в расширении «edit profile», чтобы пользователь мог обновить свою подписку.

Если вам нужны поля из других источников или данных, которые вы вычисляете динамически, вы также можете создать собственное расширение и реализовать Direct Mail mailMarkersHook.

ext_localconf.php:

// Direct Mail personalization hook 
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/direct_mail']['res/scripts/class.dmailer.php']['mailMarkersHook']['userunilunewsletterrendering'] = 
    'My\Extension\Hook\DirectMail->mailMarkersHook'; 

EXT: расширение/Классы/Hook/DirectMail.php:

<?php 
namespace My\Extension\Hook; 

class DirectMail { 

    public function mailMarkersHook($params, \DirectMailTeam\DirectMail\Dmailer $dmailer) { 
     $params['markers']['###USER_SALUTATION###'] = $this->getPersonalizedSalutation($params['row']); 
     return $params; 
    } 

    /** 
    * @param $row 
    * @return string 
    */ 
    protected function getPersonalizedSalutation($row) { 
     $personalizedSalutation = 'Dear Sir or Madam'; 
     if (!empty($row['last_name']) && !empty($row['gender'])) { 
      if ($row['gender'] === 'm') { 
       $personalizedSalutation = 'Dear Mr. ' . $row['last_name']; 
      } elseif ($row['gender'] === 'f') { 
       $personalizedSalutation = 'Dear Ms. ' . $row['last_name']; 
      } 
     } 
     return $personalizedSalutation; 
    } 

} 
+0

привет Лоренц, спасибо. Он работает, есть слишком много возможностей в расширении 'direct_mail', и я впервые с ним работаю. Теперь я использую '### USER_email ###' и '### USER_name ###' из 'tt_address' – user2310852