Anzeigen der Kundennummer unter Kunden und unter Bestellunge
Anzeigen der Kundennummer unter Kunden und unter Bestellunge
Hallo
Je mehr Kunden euer Shop hat desto schwerer wird es sein diese auseinanderzuhalten.
Deshalb macht es natürlich sehr viel Sinn Kundennummern einzuführer.
Der OOS hat die Möglichkeit Kundennummern zu verwalten.
Das einzige Problem ist nur, dass diese etwas versteckt dargestellt werden
Ich hab mir deshalb gedacht es würde sehr viel Sinn machen die Kundennummern unter Kunden/Kunden und Kunden/Bestellungen mit auszugeben.
Alle die die Idee blöd finden brauchen jetzt nicht weiterlesen
Je mehr Kunden euer Shop hat desto schwerer wird es sein diese auseinanderzuhalten.
Deshalb macht es natürlich sehr viel Sinn Kundennummern einzuführer.
Der OOS hat die Möglichkeit Kundennummern zu verwalten.
Das einzige Problem ist nur, dass diese etwas versteckt dargestellt werden
Ich hab mir deshalb gedacht es würde sehr viel Sinn machen die Kundennummern unter Kunden/Kunden und Kunden/Bestellungen mit auszugeben.
Alle die die Idee blöd finden brauchen jetzt nicht weiterlesen
Das Wissen der Menschheit gehört der Welt!
Ausgabe der Kundennummer unter Kunden / Kunden
/admin/customers.php
1. die Zeile einfügen
dann sieht es so aus....damit wird der Header der Tabelle erweitert
2. die sql Abfrage um das Feld c.customers_number erweitern
es sollte dann so aussehen
3. die Tabell um die Ausgabe der Kundennummer erweitern
dann sieht es so aus
4. ihr müsst dann nur noch in der Datei /admin/includes/languages/deu/customers.php eine weitere Konstante einfügen
Falls ihr natürlich mehr als eine Sprache nutzt muss die letzt Änderung in jeder Sprachdatei gemacht werden.
also alles sehr einfach
/admin/customers.php
1. die Zeile
Code: Alles auswählen
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NUMBER; ?></td>
dann sieht es so aus....damit wird der Header der Tabelle erweitert
Code: Alles auswählen
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent">*</td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NUMBER; ?></td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_LASTNAME; ?></td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_FIRSTNAME; ?></td>
<td class="dataTableHeadingContent" align="left"><?php echo HEADING_TITLE_STATUS; ?></td>
<td class="dataTableHeadingContent" align="left"><?php echo HEADING_TITLE_LOGIN; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACCOUNT_CREATED; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
es sollte dann so aussehen
Code: Alles auswählen
$customers_result_raw = "SELECT
c.customers_id, c.customers_number, c.customers_lastname, c.customers_firstname, c.customers_email_address,
c.customers_wishlist_link_id, c.customers_status, c.customers_login, c.customers_max_order,
a.entry_country_id
FROM
" . $oosDBTable['customers'] . " c LEFT JOIN
" . $oosDBTable['address_book'] . " a
ON c.customers_id = a.customers_id AND
c.customers_default_address_id = a.address_book_id
" . $search . "
ORDER BY
c.customers_lastname,
c.customers_firstname";
Code: Alles auswählen
<td class="dataTableContent"><?php echo $customers['customers_number']; ?></td>
Code: Alles auswählen
<td class="dataTableContent"><?php if ($customers_statuses_array[$customers['customers_status']]['cs_image'] != '') { echo oosImage(OOS_SHOP_IMAGES . 'icons/' . $customers_statuses_array[$customers['customers_status']]['cs_image'], ''); } ?> </td>
<td class="dataTableContent"><?php echo $customers['customers_number']; ?></td>
<td class="dataTableContent"><?php echo $customers['customers_lastname']; ?></td>
<td class="dataTableContent"><?php echo $customers['customers_firstname']; ?></td>
<td class="dataTableContent" align="left"><?php echo $customers_statuses_array[$customers['customers_status']]['text'] . '(' . $customers['customers_status'] . ')' ; ?></td>
<td class="dataTableContent" align="center">
Code: Alles auswählen
define('TABLE_HEADING_NUMBER', 'Kundennummer');
also alles sehr einfach
Das Wissen der Menschheit gehört der Welt!
so und jetzt noch die Ausgabe unter Kunden / Bestellungen
1. /admin/includes/languages/deu/orders.php
2. /admin/orders.php
da wird eigentlich nicht viel gemacht - eine weitere Spalte wird eingefügt eine kleine Sql Abfrage ausgeführt fertig...
Achso so und der Kundenname hat jetzt auch nen Link zum Profil des Kunden ....das ist extrem praktisch
Viel Spaß damit
ajp
1. /admin/includes/languages/deu/orders.php
Code: Alles auswählen
define('TABLE_HEADING_NUMBER', 'Kundennummer');
Code: Alles auswählen
<td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr class="dataTableHeadingRow">
<td class="dataTableHeadingContent"></td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NUMBER; ?></td>
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td>
<td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td>
<td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
</tr>
<?php
if (isset($_GET['cID'])) {
$cID = oosDBPrepareInput($_GET['cID']);
$orders_result_raw = "SELECT
o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased,
o.last_modified, o.currency, o.currency_value, s.orders_status_name,
ot.text AS order_total
FROM
" . $oosDBTable['orders'] . " o LEFT JOIN
" . $oosDBTable['orders_total'] . " ot
ON (o.orders_id = ot.orders_id),
" . $oosDBTable['orders_status'] . " s
WHERE
o.customers_id = '" . oosDBInput($cID) . "' AND
o.orders_status = s.orders_status_id AND
s.orders_languages_id = '" . intval($_SESSION['language_id']) . "' AND
ot.class = 'ot_total'
ORDER BY
orders_id DESC";
} elseif (isset($_GET['status'])) {
$status = oosDBPrepareInput($_GET['status']);
$orders_result_raw = "SELECT
o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified,
o.currency, o.currency_value, s.orders_status_name, ot.text as order_total
FROM
" . $oosDBTable['orders'] . " o LEFT JOIN
" . $oosDBTable['orders_total'] . " ot
ON (o.orders_id = ot.orders_id),
" . $oosDBTable['orders_status'] . " s
WHERE
o.orders_status = s.orders_status_id AND
s.orders_languages_id = '" . intval($_SESSION['language_id']) . "' AND
s.orders_status_id = '" . oosDBInput($status) . "' AND
ot.class = 'ot_total'
ORDER BY
o.orders_id DESC";
} else {
$orders_result_raw = "SELECT
o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified,
o.currency, o.currency_value, s.orders_status_name, ot.text as order_total
FROM
" . $oosDBTable['orders'] . " o LEFT JOIN
" . $oosDBTable['orders_total'] . " ot
ON (o.orders_id = ot.orders_id),
" . $oosDBTable['orders_status'] . " s
WHERE
o.orders_status = s.orders_status_id AND
s.orders_languages_id = '" . intval($_SESSION['language_id']) . "' AND
ot.class = 'ot_total'
ORDER BY
o.orders_id DESC";
}
$orders_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_result_raw, $orders_result_numrows);
$orders_result = $db->Execute($orders_result_raw);
while ($orders = $orders_result->fields) {
if ((!isset($_GET['oID']) || (isset($_GET['oID']) && ($_GET['oID'] == $orders['orders_id']))) && !isset($oInfo)) {
$oInfo = new objectInfo($orders);
}
// customers_number
$mposr = "SELECT c.customers_number, c.customers_lastname
FROM " . $oosDBTable['customers'] . " c
WHERE c.customers_id = " . $orders['customers_id'] . "
ORDER BY c.customers_id";
$mpor = $db->Execute($mposr);
$abfr = $mpor->fields;
if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) {
echo ' <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'hand\'" onclick="document.location.href=\'' . oosLink($aFilename['orders'], oosGetAllGetParams(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n";
} else {
echo ' <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . oosLink($aFilename['orders'], oosGetAllGetParams(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n";
}
?>
<td class="dataTableContent"><?php echo '<a href="' . oosLink($aFilename['orders'], oosGetAllGetParams(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . oosImage(OOS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' ; ?></td>
<td class="dataTableContent"><?php echo $abfr['customers_number']; ?></td>
<td class="dataTableContent"><?php echo '<a href="' . oosLink($aFilename['customers'], 'search=' . $abfr['customers_lastname'], 'NONSSL') . '">' . $orders['customers_name'] . '</a>'; ?></td>
<td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td>
<td class="dataTableContent" align="center"><?php echo oosDatetimeShort($orders['date_purchased']); ?></td>
<td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td>
<td class="dataTableContent" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id) ) { echo oosImage(OOS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . oosLink($aFilename['orders'], oosGetAllGetParams(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . oosImage(OOS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
</tr>
<?php
$orders_result->MoveNext();
}
?>
Achso so und der Kundenname hat jetzt auch nen Link zum Profil des Kunden ....das ist extrem praktisch
Viel Spaß damit
ajp
Zuletzt geändert von ajp24 am 19.06.2009, 01:04, insgesamt 1-mal geändert.
Das Wissen der Menschheit gehört der Welt!
[quote='ajp24',index.php?page=Thread&postID=1170#post1170]Ausgabe der Kundennummer unter Kunden / Kunden
/admin/customers.php
1. die Zeile einfügen
dann sieht es so aus....damit wird der Header der Tabelle erweitert
[/quote]
Wenn du die Ausgabe Tabelle erweiterst solltest du auch die colspan berücksichtigen
ich vermute colspan="8" ist dasnn sinnvoller.
schöne wäre es, wenn das Script die Konstante
bei der Ausgabe berücksichtigen würde...
Dies ist nur als Anregung gedacht. Danke für deine Optimierung! In irgrdeneiner form werden wir
deine Anregungen sicherlich in die 2.1 aufnehmen.
cu
r23
/admin/customers.php
1. die Zeile
Code: Alles auswählen
<td class="dataTableHeadingContent"><?php echo TABLE_HEADING_NUMBER; ?></td>
dann sieht es so aus....damit wird der Header der Tabelle erweitert
[/quote]
Wenn du die Ausgabe Tabelle erweiterst solltest du auch die colspan berücksichtigen
Code: Alles auswählen
<tr>
<td colspan="7"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="smallText" valign="top"><?php echo $customers_split->display_count($customers_result_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page], TEXT_DISPLAY_NUMBER_OF_CUSTOMERS); ?></td>
<td class="smallText" align="right"><?php echo $customers_split->display_links($customers_result_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page], oosGetAllGetParams(array('page', 'info', 'x', 'y', 'cID'))); ?></td>
</tr>
<?php
if (oosNotNull($_GET['search])) {
?>
<tr>
<td align="right" colspan="7"><?php echo '<a href="' . oosLink($aFilename['customers]) . '">' . oosImageButton('reset.gif', IMAGE_RESET) . '</a>'; ?></td>
</tr>
<?php
}
?>
schöne wäre es, wenn das Script die Konstante
Code: Alles auswählen
if (ACCOUNT_NUMBER == 'true')
Dies ist nur als Anregung gedacht. Danke für deine Optimierung! In irgrdeneiner form werden wir
deine Anregungen sicherlich in die 2.1 aufnehmen.
cu
r23
danke r23 - das passiert wenn man mitten in der nacht was tippt
OK colspan sollte jetzt richtig sein
ACCOUNT_NUMBER wird auch berücksichtigt (die Ausgabe der Kundennummer erfolgt jetzt also nur wenn in der Konfiguration die Nutzung der Kundennummer auch auf true steht )
Gruß
ajp
OK colspan sollte jetzt richtig sein
ACCOUNT_NUMBER wird auch berücksichtigt (die Ausgabe der Kundennummer erfolgt jetzt also nur wenn in der Konfiguration die Nutzung der Kundennummer auch auf true steht )
Gruß
ajp
Zuletzt geändert von ajp24 am 19.06.2009, 13:24, insgesamt 4-mal geändert.
Das Wissen der Menschheit gehört der Welt!