Jump to content
xt:Commerce Community Forum

Kunden-, Liefer- Und Kontaktadresse Erg?nzen


Recommended Posts

Hallo,

ich habe meine Kundendaten um das Feld "Abteilung" erweitert. Klappt auch alles prima - nicht zuletzt dank der Hilfe von Euch und mzanier. Leider fehlt mir eine Idee wie ich die Werte aus der Datenbank nun auch in die Kundenadresse, Rechnungsadresse und Lieferschein bekomme. :grml:

Im Kundenbereich der Adminoberfl?che wird der Wert der neuen Varibalen $abteilung auch richtig ausgelesen nur leider im Bereich der Bestellungen nicht. Hier geht es nach dem Firmennamen weiter mit der Adresse und nicht wie gew?nscht mit der Abteilung. Aus der orders.php werd ich nicht so recht schlau. Hier werden z.B. die Rechnungsdaten so ausgewertet: <?php echo xtc_address_format($order->billing['format_id'], $order->billing, 1, '', '

'); ?>. Wenn nun in der Klasse admin/order der Eintrag billing_abteilung vorhanden ist, wie kann ich diesen dann auswerten. billing_company wir ja auch ausgewertet. Allerdings billing_state nicht. :grml:

Wo muss ich also eingreifen, dass der Wert f?r Abteilung, sofern vorhanden ?bernommen wird.

Sobald ich mit diesem Thema durch bin, stelle ich gerne eine detaillierte Beschreibung wie der Kundenaccount um neue Werte erweitert werden kann zur Verf?gung. Ist n?mlich alles andere als trivial und bestimmt von allgem?inem Interesse.

F?r Eure Hilfe im voraus vielen Dank!!

Link to comment
Share on other sites

Kann mir denn wirklich niemand helfen. Kennt keiner das System! mzanier was ist mit dir? Warum wird der Wert f?r 'abteilung' nicht ausgelesen.

So steht es in der admin/classes/order.php drin:

$this->customer = array('name' => $order['customers_name'],

'company' => $order['customers_company'],

'abteilung' => $order['customers_abteilung'],

Selbstverst?ndlich ebenso f?r die Versand- als auch der Bestelladresse. Es sind alle Werte vorhanden - wirklich.

Sage ich aber:

$this->customer = array('name' => $order['customers_name'],

'company' => $order['customers_abteilung'],

erscheit der Wert f?r abteilung richtig in der Bestell?bersicht. Was muss ich tun, damit wie bei 'company' die 'abteilung' auch ausgelesen wird? Wo wird ?berhaupt in der der admin/orders.php definiert, dass der Wert von 'comapny ausgelsen wird? Hier jedenfalls nicht:

<?php echo xtc_address_format($order->billing['format_id'], $order->billing, 1, '', '

'); ?> - oder doch. Ich verweifle noch :wall:

Bitte um dringende Hilfe!!!

Link to comment
Share on other sites

hi mzanier,

ich brauche keinen PHP-Kurs sondern Tipps von Menschen die xtcommerce kennen. Wenn der Wert f?r Abteilung nicht in der Tabelle Customers sondern wie der Wert Company in der Tabelle Address_Book steht, bring mir eine Erweiterung der Label nix - oder? Und somit wir eine Erweiterung des querys ?berfl?ssig. Oder t?usche ich mich. Ich freue mich ?ber eine Antwort.

Link to comment
Share on other sites

das labe ist doch nur ne funktion die ein label zur?ck gibt, wenn du einen wert da drinnen haben willst, ist das ja egal von welcher table der abgefragt wird.

$order->billing

das objekt array wird ?bergeben, und wenn du nun ne zus?tzliche variable haben willst, dann muss das objekt array logischerweise erweitert werden.

und wie du siehst:

$this->customer = array('name' => $order['customers_name'],

'company' => $order['customers_company'],

'abteilung' => $order['customers_abteilung'],

$order->billing

geht dies schonmal nicht, da du dem label das billing array ?bergibst, und nicht das customers.

da kann ich dir nicht helfen, das ist basic php, und ich kenne auch nicht deine kompletten ?nderungen, um dir zu sagen was du genau falsch machst.

und ja ich kenne xtc, programmiere es ja.

Link to comment
Share on other sites

Hi mzanier,

danke f?r die schnelle Antwort, habe per cut and paste mit gebaut. Hier die komplette Fassung der Klasse. Dann stimmts n?mlich wieder. Label bekommt den richtigen Wert. Was nun?

class order {

var $info, $totals, $products, $customer, $delivery;

function order($order_id) {

$this->info = array();

$this->totals = array();

$this->products = array();

$this->customer = array();

$this->delivery = array();

$this->query($order_id);

}

function query($order_id) {

$order_query = xtc_db_query("select customers_name,

customers_cid,

customers_id,

customers_company,

customers_abteilung,

customers_street_address,

customers_suburb,

customers_city,

customers_postcode,

customers_state,

customers_country,

customers_telephone,

customers_email_address,

customers_address_format_id,

delivery_name,

delivery_company,

delivery_abteilung,

delivery_street_address,

delivery_suburb,

delivery_city,

delivery_postcode,

delivery_state,

delivery_country,

delivery_address_format_id,

billing_name,

billing_company,

billing_abteilung,

billing_street_address,

billing_suburb,

billing_city,

billing_postcode,

billing_state,

billing_country,

billing_address_format_id,

payment_method,

cc_type,

cc_owner,

cc_number,

cc_expires,

comments,

currency,

currency_value,

date_purchased,

orders_status,

last_modified,

customers_status,

customers_status_name,

customers_status_image,

customers_ip,

language,

customers_status_discount

from " . TABLE_ORDERS . " where

orders_id = '" . xtc_db_input($order_id) . "'");

$order = xtc_db_fetch_array($order_query);

$totals_query = xtc_db_query("select title, text from " . TABLE_ORDERS_TOTAL . " where orders_id = '" . xtc_db_input($order_id) . "' order by sort_order");

while ($totals = xtc_db_fetch_array($totals_query)) {

$this->totals[] = array('title' => $totals['title'],

'text' => $totals['text']);

}

$this->info = array('currency' => $order['currency'],

'currency_value' => $order['currency_value'],

'payment_method' => $order['payment_method'],

'status' => $order['customers_status'],

'status_name' => $order['customers_status_name'],

'status_image' => $order['customers_status_image'],

'status_discount' => $order['customers_status_discount'],

'cc_type' => $order['cc_type'],

'cc_owner' => $order['cc_owner'],

'cc_number' => $order['cc_number'],

'cc_expires' => $order['cc_expires'],

'comments' => $order['comments'],

'language' => $order['language'],

'date_purchased' => $order['date_purchased'],

'orders_status' => $order['orders_status'],

'last_modified' => $order['last_modified']);

$this->customer = array('name' => $order['customers_name'],

'company' => $order['customers_company'],

'abteilung' => $order['customers_abteilung'],

'csID' => $order['customers_cid'],

'shop_id' => $order['shop_id'],

'ID' => $order['customers_id'],

'cIP' => $order['customers_ip'],

'street_address' => $order['customers_street_address'],

'suburb' => $order['customers_suburb'],

'city' => $order['customers_city'],

'postcode' => $order['customers_postcode'],

'state' => $order['customers_state'],

'country' => $order['customers_country'],

'format_id' => $order['customers_address_format_id'],

'telephone' => $order['customers_telephone'],

'email_address' => $order['customers_email_address']);

$this->delivery = array('name' => $order['delivery_name'],

'company' => $order['delivery_company'],

'abteilung' => $order['delivery_abteilung'],

'street_address' => $order['delivery_street_address'],

'suburb' => $order['delivery_suburb'],

'city' => $order['delivery_city'],

'postcode' => $order['delivery_postcode'],

'state' => $order['delivery_state'],

'country' => $order['delivery_country'],

'format_id' => $order['delivery_address_format_id']);

$this->billing = array('name' => $order['billing_name'],

'company' => $order['billing_company'],

'abteilung' => $order['billing_abteilung'],

'street_address' => $order['billing_street_address'],

'suburb' => $order['billing_suburb'],

'city' => $order['billing_city'],

'postcode' => $order['billing_postcode'],

'state' => $order['billing_state'],

'country' => $order['billing_country'],

'format_id' => $order['billing_address_format_id']);

$index = 0;

$orders_products_query = xtc_db_query("select

orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price,allow_tax, products_discount_made

from

" . TABLE_ORDERS_PRODUCTS . "

where

orders_id ='" . xtc_db_input($order_id) . "'");

while ($orders_products = xtc_db_fetch_array($orders_products_query)) {

$this->products[$index] = array('qty' => $orders_products['products_quantity'],

'name' => $orders_products['products_name'],

'model' => $orders_products['products_model'],

'tax' => $orders_products['products_tax'],

'price' => $orders_products['products_price'],

'discount' => $orders_products['products_discount_made'],

'final_price' => $orders_products['final_price'],

'allow_tax' => $orders_products['allow_tax']);

$subindex = 0;

$attributes_query = xtc_db_query("select products_options, products_options_values, options_values_price, price_prefix from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . " where orders_id = '" . xtc_db_input($order_id) . "' and orders_products_id = '" . $orders_products['orders_products_id'] . "'");

if (xtc_db_num_rows($attributes_query)) {

while ($attributes = xtc_db_fetch_array($attributes_query)) {

$this->products[$index]['attributes'][$subindex] = array('option' => $attributes['products_options'],

'value' => $attributes['products_options_values'],

'prefix' => $attributes['price_prefix'],

'price' => $attributes['options_values_price']);

$subindex++;

}

}

$index++;

}

}

}

?>

Link to comment
Share on other sites

Hi mzanier,

ich habe es gefunden: Anpassung der general.php war von n?ten. Das war der Tipp den ich gesucht habe. Trotzdem vielen Dank f?r Deine M?he und um es klar zu stellen XTCommerce ist geil und Ihr (die Programmierer) leistet eine bomben Arbeit.

Viele Gr??e :?:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
  • Create New...