Franz Holzinger

Verse of the day

Denn es ist ein Gott und ein Mittler zwischen Gott und den Menschen, nämlich der Mensch Christus Jesus, der sich selbst gegeben hat für alle zur Erlösung, daß solches zu seiner Zeit gepredigt würde;
1 Timotheus 2:5-6

© Bible Gateway's Verse of the Day


autor  
13-05-11 10:33:03 static_info_country
Marlen Postlmayr
Hallo,
bei der Extension srfeuserregister wir nur der 3-stellige Ländercode bei Angabe vom Feld "static_info_country" gespeichert. Wie schaff ich es jetzt aber bei tt_products bei der Rechnung oder der Bestellbestätigung das ausgeschriebene Land auszugeben? Ich verwende den Marker ###PERSON_COUNTRY###
Vielen Dank und liebe Grüße
24-05-11 20:56:40 richtig
Franz Holzinger
Ja, mit den Markern ###PERSON_COUNTRY### und ###DELIVERY_COUNTRY### wird das Land, also 'Deutschland' beim Code 'DEU' ausgegeben. Es genügt, wenn bei FE Benutzer nur der 3-stellige Ländercode im Feld static_info_country gespeichert ist. Das Länderfeld country darf leer sein.

25-05-11 08:55:38 ###PERSON_COUNTRY###
Marlen Postlmayr
Also bei ###PERSON_COUNTRY### wird der Code DEU und nicht Deutschland ausgegeben. Zumindest bei der Rechnung (im ###BILL_TEMPLATE###) und hier würde ich das brauchen.
25-05-11 09:16:35 unklar
Franz Holzinger
Ist dort noch eine veraltete Version von tt_products im Einsatz?
25-05-11 09:30:05 tt_products 2.8.1
Marlen Postlmayr
nein, ich verwende tt_products 2.8.1
25-05-11 11:04:26 tt_products 2.8.1.16
Franz Holzinger
Ich habe es mit der neuesten tt_products 2.8.1 erfolgreich ausgetestet.

Das wird auf der Seite der Bestellbestätigung angezeigt:
Land: Deutschland
25-05-11 11:48:54 Rechnung BILL_TEMPLATE
Marlen Postlmayr
Zum Teil wird auch das Land ausgegeben, z.b. im BASKET_PAYMENT_TEMPLATE, wo auch derselbe Marker ###PERSON_COUNTRY### verwendet wird. Nicht aber ber der Rechnung, dort gibt er das Länderkürzel aus.
25-05-11 14:15:33 Korrektur zu tt_products 2.8.1
Franz Holzinger
Der PHP Code in der Datei lib/class.tx_ttproducts_billdelivery.php muss erweitert werden:

Zeilen 385ff:

#############################
foreach($infoFields as $fName) {
$markerArray['###PERSON_'.strtoupper($fName).'###'] = $orderData['billing'][$fName];
$markerArray['###DELIVERY_'.strtoupper($fName).'###'] = $orderData['delivery'][$fName];
}
$staticInfo = &t3lib_div::getUserObj('&tx_staticinfotables_pi1');
if (!method_exists($staticInfo, 'needsInit') || $staticInfo->needsInit()) {
$staticInfo->init();
}

if (isset($orderData['billing']['country_code'])) {
$markerArray['###PERSON_COUNTRY###'] =
$staticInfo->getStaticInfoName('COUNTRIES', $orderData['billing']['country_code'],'','');
}
if (isset($orderData['delivery']['country_code'])) {
$markerArray['###DELIVERY_COUNTRY###'] =
$staticInfo->getStaticInfoName('COUNTRIES', $orderData['delivery']['country_code'],'','');
}
26-05-11 09:45:13 php Code
Marlen Postlmayr
Ok, danke. Nur wo genau gehören die Zeilen hinzugefügt?
In der Zeile 158 steht folgender Code:

384: if (defined('TYPO3_MODE') && $GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/tt_products/lib/class.tx_ttproducts_billdelivery.php']) {

385: include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/tt_products/lib/class.tx_ttproducts_billdelivery.php']);

386: }
26-05-11 09:46:09 Zeile 385
Marlen Postlmayr
Ich meinet natürlich in der Zeile 385
26-05-11 10:24:52 tt_products 2.8.1 Zeile 389
Franz Holzinger
In den Zeilen 389ff von tt_products 2.8.1 steht bereits das drin:

foreach($infoFields as $fName) {
$markerArray['###PERSON_'.strtoupper($fName).'###'] = $orderData['billing'][$fName];
$markerArray['###DELIVERY_'.strtoupper($fName).'###'] = $orderData['delivery'][$fName];
}

Dahinter gehört der neue Code eingefügt.

Der oben angegebene Code für die XCLASS befindet sich in Zeile 479.
26-05-11 16:41:37 'ext/tt_products/lib/class.tx_ttproducts_billdelivery.php'
Marlen Postlmayr
Also, ich hab den Code jetzt in lib/class.tx_ttproducts_billdelivery.php (bei mir in der Zeile 309ff) eingefügt. Leider wird immer noch der Ländercode in der Rechnung angezeigt.
26-05-11 16:59:03 Debuggen
Franz Holzinger
Das verstehe ich dann aber nicht mehr. Man müsste das $markerArray debuggen.
< Zurück zum Forum