PDA

Shop Support News Archive - Shopbetreiber News -> Forum : xtc: Zusatzfelder Beim Konto Anlegen Inder Order_mail Mitgeben


mode303
15.05.2007, 11:18
Hi,

ich habe bei einem Shop zusätzliche Kundenfelder in der create_account eingefügt und diese auch in der Adminansnicht unter Kunden anzeigen lassen.

Nun brauch ich aber zwei dieser Felder in der order_mail und bringe die irgendwie nicht rein...

in der create account steht folgendes und schreibt die daten in die Tabelle customers.

''>ZITAT</div>//Feldeerweiterung
$personalnr = xtc_db_prepare_input($_POST['personalnr']);
$dt_field = xtc_db_prepare_input($_POST['taetigkeit']);
$bdnr = xtc_db_prepare_input($_POST['bdnr']);
$agentur = xtc_db_prepare_input($_POST['agentur']);
//Felderweiterung EOF[/b]

''>ZITAT</div>//Felderweiterung
$sql_data_array['personalnr'] = $personalnr;
$sql_data_array['taetigkeit'] = $dt_field;
$sql_data_array['bdnr'] = $bdnr;
$sql_data_array['agentur'] = $agentur;
//Felderweiterung EOF[/b]

''>ZITAT</div>// Felderweiterung ANFANG
$smarty->assign('INPUT_PERSONALNR',xtc_draw_input_fieldNote (array ('name' => 'personalnr',
'text' => ''. (xtc_not_null(ENTRY_PERSONALNR_TEXT) ? 'class="inputRequirement">'.'' : ''))));
$smarty->assign('INPUT_BDNR',xtc_draw_input_fieldNote(array ('name' => 'bdnr',
'text' => ''. (xtc_not_null(ENTRY_BDNR_TEXT) ? 'class="inputRequirement">'.'' : ''))));
$smarty->assign('INPUT_AGENTUR',xtc_draw_input_fieldNote(ar ray ('name' => 'agentur',
'text' => ''. (xtc_not_null(ENTRY_AGENTUR_TEXT) ? 'class="inputRequirement">'.'' : ''))));[/b]

Aber wie kriege ich nun das feld $bdnr und $agentur in die order_mail? Einfach mit $agentur und $bdnr wird ja nciht hinhauen, dazu muß ich die doch irgendwie eintragen?

Wer kann mir denn da weiterhelfen?

Danke und Gruß

mode303
18.05.2007, 07:36
Hi, keiner eine Idee?

normalerweise sollte es ja kein Problem sein Felder, die in der Tabelle customers stehen in die order_mail zu fügen, nur wie?

Gruß

lockdron
18.05.2007, 09:49
''>ZITAT(mode303 @ May 18 2007, 7:36) 26466
Hi, keiner eine Idee?

normalerweise sollte es ja kein Problem sein Felder, die in der Tabelle customers stehen in die order_mail zu fügen, nur wie?

Gruß
[/b]
Ich habs mir grad mal angeschaut und das könnte etwas schwieriger werden.
In der Datei "send_order.php" (eingebunden in checkout_process.php) wird die Bestell-Mail versendet.
Die Userdaten werden dabei über die Klasse "order" (includes/classes/order.php) geholt, aber die ließt nicht die Costumer-Daten an sich aus, sondern nur die, die in der Tabelle "orders" gespeichert sind (z.B. für Gastkäufe).

Du hast jetzt folgende Möglichkeiten:
1. du erweiterst die order-Klasse, damit dort eine zusätzliche SQL-Abfrage die rnichtige costumers-Tabelle ausließt, was aber Gastkäufe unmöglich macht.
2. du erweiterst die orders-Tabelle um die Spalten und lässt die mit den gleiche Infos befüllen, erweiterst die Variablenzuweisung in der orders-Klasse und fertig.

Zum eigentlich Zuweisen an die Email schaust du dir dann mal die "send_order.php" an. Hier sind Zuweisungen an Smarty. Du machst einfach auch eine Zuweisung die z.B. so ausschaut:
$smarty->assign('DEINE_VARIABLE', $order->customer['deine_variable']);
wobei aber natürlich die Variable durch die order-Klasse verfügbar sein muss (siehe oben).

Also alles in allem nicht ganz einfach. Ich hoff aber, ich hab mich verstädnlich ausgedrückt.
Achja bei der "Analyse" könnten Fehler enthalten sein, weil ich atm die Datenbank nicht da hab ; )

by lockdron

fiese möpp
18.05.2007, 09:55
Am einfachsten geht es, wenn Du die 'send_order.php' anpasst.
(ungetestet) suche nach...ca. Zeile26

if ($_SESSION['customer_id'] == $order_check['customers_id']) {

direkt dahinter einfügen ...

$customer_adv_query=xtc_db_query("select bdnr, agentur from customers where customers_id='".$order_check['customers_id']."';");
$customer_adv=xtc_db_fetch_array($customer_adv_que ry);
$smarty->assign('BDNR',$customer_adv['bdnr']);
$smarty->assign('AGENTUR',$customer_adv['agentur']);

Nun solltest Du in 'templates/DEINTEMPLATE/mail/DEINESPRACHE/order_mail.txt und .html neue Smarty Tags zur Verfügung haben.
{$bdnr} und {$AGENTUR}.

Schöner könntest Du es lösen, wenn Du die Klasse orders anpasst. Währe aber mehr Aufwand.

back@me
28.05.2007, 01:01
''>ZITAT(mode303 @ May 15 2007, 11:18) 26337
Hi,

ich habe bei einem Shop zusätzliche Kundenfelder in der create_account eingefügt und diese auch in der Adminansnicht unter Kunden anzeigen lassen.[/b]


Hi mode303!

Super wäre auch, wenn der Kunde diese Felder in seinem Konto sehen und bearbeiten könnte (so, wie seine Adressdaten z.B.)

Wären diese zusätzlichen Felder auch für bereits bestehende Kunden snichtbar und zu bearbeiten?

Vielen Dank für die Hilfe

Gruß

back@me

PS.: Meine Shopversion - 3.04 SP2.1

mode303
29.05.2007, 10:30
Hi,

habe ich leider noch nicht umgesetzt, da es bei uns nicht nötig war.

Wenn jemand diese Funktion umsetzen würde, wäre natürlich Klasse...
Hab mir dazu bisher noch gar keine Gedanken gemacht ehrlich gesagt. Momentan lasse ich sie mir nur in der Kundenasnicht im Adminbereich anzeigen.

Gruß

back@me
29.05.2007, 12:32
''>ZITAT(mode303 @ May 29 2007, 10:30) 26949
Hi, ... Momentan lasse ich sie mir nur in der Kundenasnicht im Adminbereich anzeigen ... Gruß
[/b]
Jau, ist auch gar nicht so dumm, da alles schön in der Gesamtübersnicht steht ... doch leider kann dass aber ein Platzproblem werden wenn man sich z.B. (wie bei mir) zwei Zusatzfelder angelegt hat und zu dem noch die Kundennummer angezeigt wird (wie bei mir) :rolleyes: Und ich habe schon eine fette Auflösung auf meinem Monitor 1280x1024!

Noch genialer wäre es, wenn man alle "Bemerkungen" auf einer separaten Seite angezeit bekommen könnte um sie so für z.B. Auswertungen besser verwenden zu können ... aber ich denke, dass ist eine schwierige Sache soetwas umzusetzen.

Auf dem Screenshot sehr Ihr, wie es in meiner Kundenübersnicht im Admin aussieht. Da ich einen Shop für Foliendekore (Modellbau) habe, kann der Kunde folgende Zusatzfelder füllen:

"Bemerkung" = Welche RC-Modelle beistzen Sie? und "Woher" = Wie sind Sie auf HaubenDesign.de aufmerksam geworden?

Danke und Gruß


EDIT:
Und noch ganz wnichtig: Wie zum Teufel ändere ich die Breite der Eingabefelder im Registrierungsformular???

back@me
05.06.2007, 13:29
''>ZITAT(back@me @ May 29 2007, 12:32) 26966
Und noch ganz wnichtig: Wie zum Teufel ändere ich die Breite der Eingabefelder im Registrierungsformular???
[/b]


Hat denn keiner eine Idee?

Danke