Hallo,
ich bin dabei, überall wo ein Kundenname auftaucht, auch ein Feld für den Titel der Person (Dr./Prof...) anzeigen/abfragen zu lassen.
(Feldname ist entry_prefix in der Tabelle address_book)
Das hat soweit auch geklappt, nur an einer Stelle verzweifle ich gerade:
Für die Adresslisten bei Shipping und Payment wird ein Array mit den Adressdaten an die Funktion xtc_address_format übergeben:
$address_content .= sprintf('<li>%s<label for="field_addresses_%s"> %s %s %s</label><br /><span class="address">%s</span></li>', xtc_draw_radio_field
('address',$addresses['address_book_id'], ($addresses['address_book_id'] == $_SESSION['sendto']), 'id="field_addresses_'.$addresses['address_book_id'].'"'), $addresses['address_book_id'], $addresses['prefix'], $addresses['firstname'], $addresses['lastname'], xtc_address_format
($format_id, $addresses, true, ' ', ', ')); In der
inc/xtc_address_format.inc.php
wird die Adresse dann neu zusammengebaut, nach diversen Abfragen.
Mein Feldwert wir auch ausgegeben, wenn ich ihn einzeln abfrage:
$address['prefix'])
Bei der Übergabe per return $address; ist er aber nicht dabei.
Und das verstehe ich irgendwie nicht.
Ich behelfe mir jetzt erstmal mit folgender Variante:
Aber ich würde natürlich gern wissen, an welcher Stelle der Wert aus der Übergabe entfernt wird.
Kann da jemand helfen?
Danke
- mcm -
meine xtc_address_format.inc.php
Shopversion: 1.05
<?php require_once(DIR_FS_INC
. 'xtc_get_zone_code.inc.php'); require_once(DIR_FS_INC
. 'xtc_get_country_name.inc.php'); function xtc_address_format
($address_format_id, $address, $html, $boln, $eoln) { $address_format_query = xtc_db_query
("select address_format as format from " . TABLE_ADDRESS_FORMAT
. " where address_format_id = '" . $address_format_id . "'"); $address_format = xtc_db_fetch_array
($address_format_query); $company = addslashes($address['company']); $firstname = addslashes($address['firstname']); $lastname = addslashes($address['lastname']); $prefix = addslashes($address['prefix']); $street = addslashes($address['street_address']); $suburb = addslashes($address['suburb']); $city = addslashes($address['city']); $state = addslashes($address['state']); $country_id = $address['country_id']; $zone_id = $address['zone_id']; $postcode = addslashes($address['postcode']); $zip = $postcode; $country = xtc_get_country_name
($country_id); $state = xtc_get_zone_code
($country_id, $zone_id, $state); if ($html) {// HTML Mode $HR = '<hr />'; $hr = '<hr />'; if ( ($boln == '') && ($eoln == "\n") ) { // Values not specified, use rational defaults $CR = '<br />'; $cr = '<br />'; $eoln = $cr; } else { // Use values supplied $CR = $eoln . $boln; $cr = $CR; } } else {// Text Mode $CR = $eoln; $cr = $CR; $HR = '----------------------------------------'; $hr = '----------------------------------------'; } $statecomma = ''; $streets = $street; if ($suburb != '') $streets = $street . $cr . $suburb; if ($firstname == '') $firstname = addslashes($address['name']); if ($country == '') $country = addslashes($address['country']); if ($state != '') $statecomma = $state . ', '; $fmt = $address_format['format']; eval("\$address = \"$fmt\";"); if ( (ACCOUNT_COMPANY
== 'true') && (xtc_not_null
($company)) ) { $address = $company . $cr . $address; } $address = stripslashes($address); // if($prefix) $address = stripslashes($prefix) . ' ' . stripslashes($address); return $address; } ?> Linkback: https://www.modified-shop.org/forum/index.php?topic=29754.0