Erweiterung Bestellstatustabelle in der Bestellung um die An

MyOOS hat einen Fehler, oder tut nicht das, was Ihr erwartet? Derartige "Unanehmlichkeiten" bitte hier.
Antworten
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Erweiterung Bestellstatustabelle in der Bestellung um die An

Beitrag von ajp24 »

Frei nach dem Motto "Viele Köche verderben den Brei" bekommt man spätestens wenn zwei oder drei Menschen sich um die eingegangenen Bestellung kümmern sollen "interne" Abstimmungsprobleme ?(

Dialoge wie zB: < Hast du die Rechnung geschickt? Nee ich dachte du machst das ! Echt hmmm ich dachte du machst das ! > sind dann keine Seltenheit 8o

Damit euch diese Erfahrung erspart bleibt, bietet der OOS die Möglichkeit die einzelnen Schritte mit Hilfe der Funktion Kunden / Bestellstatus zuverwalten.

Ich habe persönlich ca 25 verschiedene 'Bestellzustände' definiert und habe so eine gute Übersicht.

Wenn man jetzt noch für alle Mitarbeiter ( Redakture) eigene Accounts erstellt und die Zugriffsrechte vergibt bekommt man so einige Abstimmungsprobleme in den Griff :thumbsup: ( Ich spreche da aus eigener Erfahrung :cursing: )

Man kann jetzt also einfach die einzelnen Schritte für jede Bestellung vermerken :thumbsup: Das Problem ist zur Zeit nur, dass ich zwar so weiß wie weit die Bestellung bearbeitet ist aber nicht WER die einzelnen Schritte durchgeführt hat. ( Bei Pannen erschwert es die Suche nach dem Schuldigen ;) )

Es wäre also nicht schlecht wenn wir einfach eine weitere Spalte (ich nenne diese mal 'Redakture ') in die Tabelle einfügen in der wir automatisch den Namen des Redaktuers erfassen.

Und das Ganze hab ich dann so gelöst...
Zuletzt geändert von ajp24 am 23.06.2009, 22:50, insgesamt 1-mal geändert.
Das Wissen der Menschheit gehört der Welt!
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

dazu müssen wir die tabelle orders_status_history um ein weiteres feld erweitern ( ich nenne es mal editor )

das geht mit phpmyadmin ganz gut

[mysql]ALTER TABLE `orders_status_history` ADD `editor` VARCHAR( 96 ) NULL AFTER `date_added` ;[/mysql]

so dann müssen wir die sprachdatei orders.php (/admin/includes/languages/deu/orders.php) um eine neue konstante erweitern

Code: Alles auswählen

define('TABLE_HEADING_EDITOR', 'Redakteure ');
Das Wissen der Menschheit gehört der Welt!
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

in der datei /admin/orders.php müssen nur einige wenige änderungen gemacht werden.

im session array wird die log_in gespeichert und damit kann ich den vor-und nachnamen aus der datenbank auslesen

Code: Alles auswählen

$editor_sql_result = "SELECT a.admin_firstname, a.admin_lastname
                  	FROM " . $oosDBTable['admin'] . " a
                  	WHERE a.admin_id = " . $_SESSION['login_id'] . "
                  	ORDER BY a.admin_id";
                                       	
        	$editor_sql_raw = $db->Execute($editor_sql_result);
        	$editor_raw = $editor_sql_raw->fields;
        	$editor = $editor_raw['admin_firstname'] . " " . $editor_raw['admin_lastname'];
und die sql-anweisung wird einfach nur um das neue feld erweitert

Code: Alles auswählen

$db->Execute("INSERT INTO " . $oosDBTable['orders_status_history'] . " (orders_id, orders_status_id, date_added, editor, customer_notified, comments) VALUES ('" . oosDBInput($oID) . "', '" . oosDBInput($status) . "', now(), '" . $editor . "', '" . $customer_notified . "', '" . oosDBInput($comments)  . "')");
die spaltenüberschrift einfügen

Code: Alles auswählen

<td class="smallText" align="center"><b><?php echo TABLE_HEADING_EDITOR; ?></b></td>
sql-anweisung erweitern

Code: Alles auswählen

$orders_history_result = $db->Execute("SELECT orders_status_id, date_added, editor, customer_notified, comments FROM " . $oosDBTable['orders_status_history'] . " WHERE orders_id = '" . oosDBInput($oID) . "' ORDER BY date_added");
	
ausgabe der einträge erweitern

Code: Alles auswählen

'        	<td class="smallText" align="center">' . oosDBOutput($orders_history['editor']) . '</td>' . "\n" .
fertig :thumbsup:

achso was noch nicht schlecht ist wenn man die checkboxen "Kunde benachrichtigen: und Kommentare mitsenden:" auf false setzt

Code: Alles auswählen

<td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo oosDrawCheckboxField('notify', '', false); ?></td>
            	<td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo oosDrawCheckboxField('notify_comments', '', false); ?></td>
              
Das Wissen der Menschheit gehört der Welt!
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

hier die Dateien (inkl der Kundennummern Erweiterung)

viel Spaß
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

Hallo,

super problemlösung für ein verständliches problem ;)

ich denke auch diese erweiterung werde ich in die 2.1 aufnehmen ;)

danke!

cu

ralf
ajp24
Beiträge: 54
Registriert: 25.05.2009, 21:42

Beitrag von ajp24 »

Bitte schön :thumbsup:
Das Wissen der Menschheit gehört der Welt!
r23
Beiträge: 2622
Registriert: 18.09.2008, 05:56
Wohnort: Hagen
Kontaktdaten:

Beitrag von r23 »

habe ich in das projekt aufgenommen
Antworten