aiContactSafe - modifier l'ordre des champs dans l'email seulement

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] aiContactSafe - modifier l'ordre des champs dans l'email seulement

    Bonjour,

    Je suis en train de modifier mon composant aiContactSafe pour pouvoir trier les champs différemment sur le site internet que dans l'email envoyé au staff.

    Au niveau de l'interface, j'ai pu rajouter sans problème les numéros (voir image), mais je ne sais pas ou se passe l'enregistrement (il faut que je suive le même schéma que l'ordre des champs simple et utiliser cette liste de nombres que dans la génération de mail).

    Est-ce que quelqu'un peut m'orienter pour la suite de mes modifications ?
    Merci


    Ambroise Fauchère

    Cliquez sur l'image pour l'afficher en taille normale

Nom : Capture d’écran 2013-06-05 à 14.31.27.png 
Affichages : 1 
Taille : 39,5 Ko 
ID : 1817344
    Dernière édition par a.fauchere à 10/06/2013, 15h21

  • #2
    Re : aiContactSafe

    petit up, si quelqu'un à des nouvelles... J'ai la fonction getFields à la ligne 384 du fichier administrator/components/com_aicontactsafe/modeles/profiles.php

    Commentaire


    • #3
      Re : aiContactSafe

      Rebonjour,

      La persévérance paye toujours : J'ai trouvé une solution par moi-même...

      Dans le fichier /components/com_aicontactsafe/models/message.php (~ligne 1330), j'ai rajouté le code suivant :
      $active_fields = explode(',', $profile->active_fields);

      $fields_order = explode(',', $profile->mail_order);

      // generate the response array
      $unsorted_fields = array();
      foreach ($fields as $record) {
      $unsorted_fields[$record->id] = $record;//array('id' => $record->id, 'name' => $record->name, 'field_label' => $record->field_label, 'selected' => (array_search($record->id, $active_fields) === false) ? '0' : '1');
      }
      $ordered_fields = array();
      // sort the response array
      foreach ($fields_order as $field_id) {
      if (array_key_exists($field_id, $unsorted_fields)) {
      $ordered_fields[] = $unsorted_fields[$field_id];
      unset($unsorted_fields[$field_id]);
      }
      }

      foreach($ordered_fields as $field) {
      $field_fld_value = ($field->field_type == 'FL')?$field->fld_link:$field->fld_value;
      if($field->field_type == 'SP' || !empty($field_fld_value)){?>
      <tr>
      <td><span <?php echo $field->label_message_parameters; ?> > <?php echo $field->field_label_message; ?></span></td>
      <td>&nbsp;</td>
      <td> <?php echo $field_fld_value; ?></td>
      </tr><?php
      }
      } ?>
      </table><?php
      $body = ob_get_contents();
      @ob_end_clean();
      et cette solution fonctionne par contre je perd le coté personnalisable de l'email dans le backend, mais mon client n'en a pas besoin de cette fonctionnalité.

      Commentaire

      Annonce

      Réduire
      Aucune annonce pour le moment.

      Partenaire de l'association

      Réduire

      Hébergeur Web PlanetHoster
      Travaille ...
      X