2010-06-25 17 views
6

Il mio cliente ha un negozio basato su ubercart che funziona perfettamente. A causa di alcune cose interne, ha bisogno di aggiungere manualmente un campo a ciascuna fattura. Volevo sapere se, o meglio, come posso aggiungere un campo personalizzato agli ordini che vengono visualizzati su tutte le fatture.Aggiunta di campo personalizzato a Ubercart Fattura

+0

Questo campo richiede l'input dell'utente o degli amministratori? – Kevin

+0

Solo dall'amministratore. –

risposta

4

È una vecchia domanda, ma questo può aiutare gli altri; puoi usare il seguente codice

Primo checkout customer.itpl.php o customer.itpl.php file sotto ubercart/uc_order/templates.

Quindi è possibile modificare il ciclo foreach che richiama tutti i prodotti e aggiungere i propri campi in questo modo:

<?php 
    foreach ($order->products as $product) { 
     $nid = ($product->nid); 
     $noderef = node_load($nid); 
     echo $product->title .' : '.$noderef->your_own_field[0]['value']; 
     echo "<br />"; 
?> 

installazione mia Ubercart ha i campi di prodotto possono essere modificati da http://www.mysite.com/admin/content/node-type/product/fields.

È possibile trovare ulteriori informazioni su this issue.

0

Non ho personalmente dovuto apportare questo cambiamento, quindi non sto parlando per esperienza, ma guardando la documentazione vorrei provare quanto segue: (potresti tagliare gli angoli ed evitare un po 'di lavoro modificando i moduli esistenti, ma questo è il modo più pulito che riesco a pensare)

  1. creare un modulo che memorizza il campo e il numero dell'ordine.
  2. utilizzando from_alter modificare la schermata di modifica della fattura per consentire agli utenti di modificare il campo.
  3. utilizzare il modello di fattura per inserire il campo, in base al numero dell'ordine. invoice "system" documentation.

Non si tratta di un semplice cambiamento, ma utilizzando questo modello si otterrà la modifica che si sta cercando senza doversi preoccupare di aggiornamenti non funzionanti.

+0

Grazie ... potrebbe essere un modo per farlo. Proverò la prossima settimana. –

+0

ha funzionato questa risposta per te? totalmente dimenticato di seguire, e sicuramente potrebbe usare il bounty :) – mirzu

Problemi correlati