Jump to content

AIUTO: campi personalizzati nella email new_order.tpl inviata all'Admin


quorthon

Recommended Posts

Buongiorno a tutti,

ho un modulo per aggiungere campi personalizzati nella fase di acquisto(es: data di consegna, testo di un biglietto ecc) e vorrei aggiungere quei campi all'email del nuovo ordine inviata all'Admin nel modulo avvisi email.

La tabella del database si chiama 'ps_custom_field_userdata'. Qui ho una cella chiamata 'id_custom_field' e una cella chiamata 'field_value'.

Quello che ho fatto è stato modificare /modules/mailalerts/mailalerts.php nel seguente modo:

1) Ho aggiunto questa funzione

   // PRIMA AGGIUNTA
    public function getCustomField($id)
    {
    $custom_fields = Db::getInstance()->executeS('
      SELECT `field_value`
      FROM `'._DB_PREFIX_.'custom_field_userdata`
      WHERE `id_order` = '.(int)$id.'
      AND `id_custom_field` = 4'); // numero corrispondente al campo da cui si vuole ottenere il valore
      //$result = array();
      foreach ($custom_fields as $custom_field)
          //$result[] = $custom_field['field_value'];
          $result = $custom_field['field_value'];

    //return implode($result);
      return $result;
    }

    sotto la funzione public function getAllMessages($id)

2)  Ho aggiunto

    $yourCustomField = $this->getCustomField($customer->id);

    sotto le stringhe

    $message = $this->getAllMessages($order->id);

    if (!$message || empty($message))
    $message = $this->l('No message');

3)  Ho aggiunto la riga con la variabile personalizzata

    '{customField}' => $yourCustomField

    sotto la variabile

    '{message}' => $message

4)  Ho modificato new_order.tpl presente nelle email del modulo, aggiungendo 

    '{customField}' 

Purtroppo nella email il campo risulta vuoto, i dati inseriti nel front-end non appaiono.

Potreste aiutarmi a risolvere il problema? Vi chiedo, inoltre, come mai se sostituisco la query

WHERE `id_order` = '.(int)$id.' presente nella funzione creata con

WHERE `id_order` = 552 (dove 552 è l'ID di un ordine vecchio) nella email compare il valore?

Per favore aiutatemi, dov'è che sbaglio? Spero di essere stato chiaro nell'esposizione.

Grazie

Link to comment
Share on other sites

  • 1 month later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...