Franz Holzinger

Verse of the day

Bei Gott ist mein Heil, meine Ehre, der Fels meiner Stärke; meine Zuversicht ist auf Gott.
Psalm 62:7

© 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