Interfaces de gestion

Modifier l'URL de redirection après programmation d'un envoi en front (schedule)

Quand vous avez beaucoup customisé l'interface de gestion frontale des newsletters, vous souhaitez parfois rediriger plus précisément un utilisateur qui vient de programmer un email.

Dans le fichier components \ com_acymailing \ controllers \ frontnewsletter.php aux environs de la ligne 152, modifiez l'URL dans la variable $redirecturl de la fonction schedule, sous redirect_schedule :

if(empty($redirecturl)) $redirecturl = "MonURL" ;

La fonction schedule étant ensuite appelée dans le fichier components \ com_acymailing \ views \ frontnewsletter \ tmpl \ scheduleconfirm.php.

Modifier l'URL de redirection après annulation d'un envoi en front (cancel)

C'est légèrement différent que précédemment, car cette fois il s'agit d'un lien dynamique en fonction de son appel du back ou du front.

Dans le fichier administrator \ components \ com_acymailing \ views \ newsletter \ tmpl \ listing.php aux environs de la ligne 182, sous les données du champ senddate, modifiez le bouton. Par exemple :

<button class="acymailing_button" onclick="if(confirm('<?php echo str_replace("'", "\'", acymailing_translation_sprintf('ACY_VALID_DELETE_FROM_QUEUE', $row->countqueued)); ?>')){ window.location.href = '<?php echo acymailing_baseURI(); ?><?php if(acymailing_isAdmin()) echo 'index.php?option=com_acymailing&ctrl=newsletter&task=cancelNewsletter&'; ?><?php if(!acymailing_isAdmin()) echo 'emailing/index.php?option=com_acymailing&ctrl=frontnewsletter&task=cancelNewsletter&'; ?><?php echo acymailing_getFormToken(); ?>&mailid=<?php echo $row->mailid; ?>'; } return false;">
<?php echo acymailing_translation('ACY_CANCEL'); ?>
</button>

Dans mon cas j'ajoute l'alias d'un lien de menu (emailing), vers lequel je veux rediriger les utilisateurs en front, mais pas en back.

Ajouter le champ summary dans les interfaces de gestion des newsletters

Dans le fichier administrator \ components \ com_acymailing \ views \ newsletter \ tmpl \ listing.php,  commencez par afficher le nom du champ.

1) Un th sous subject (th class="title") et lists (title titlelist) par exemple, aux environs de la ligne 57 :

<th class="title">SUMMARY
</th>

2) Puis la collone des données, un peu plus bas dans le fichier, aux environs de la ligne 159, un autre td entre le bloc du $row->subject et celui du mailToLists :

<!-- SUMMARY FIELD -->
<td align="center" style="text-align:left">
<?php echo $row->summary; ?>
</td>

Mais les données nes ont pas encore disponibles, ils vous faut encore les intégrer aux données appelées par l'application, dans le fichier administrator \ components \ com_acymailing \ views\newsletter \ view.html.php.

3) D'abord dans le $searchMap de la fonction listing (autour de la ligne 56) :

$searchMap = array('a.mailid', 'a.alias', 'a.subject', 'a.summary', 'a.fromname', ...

4) Dans sa variable $selection aux environs de la ligne 84 :

$selection = array('a.mailid', 'a.alias', 'a.subject', 'a.summary', 'a.fromname', 'a.fromemail'...

5) Puis dans le $myTemplate de la fonction form (autour de la ligne 325) :

if(!empty($myTemplate->tempid)){
$mail->body = acymailing_absoluteURL($myTemplate->body);
$mail->altbody = $myTemplate->altbody;
$mail->tempid = $myTemplate->tempid;
$mail->subject = $myTemplate->subject;
$mail->summary = $myTemplate->summary;
$mail->replyname = $myTemplate->replyname;
$mail->replyemail = $myTemplate->replyemail;
$mail->fromname = $myTemplate->fromname;
$mail->fromemail = $myTemplate->fromemail;
}

Personnaliser le formulaire de souscription

Ici un exemple de personnalisation avec le CCK Fabrik.