Franz Holzinger

Verse of the day

So ist nun nichts Verdammliches an denen, die in Christo Jesu sind, die nicht nach dem Fleisch wandeln, sondern nach dem Geist. Denn das Gesetz des Geistes, der da lebendig macht in Christo Jesu, hat mich frei gemacht von dem Gesetz der Sünde und des Todes.
Roemer 8:1-2

© Bible Gateway's Verse of the Day


Buch: Der TYPO3 Webshop
 
 
Die Problematische stelle
 
Autor: Thomas Hirt Datum: 25-05-09 16:16:32
 
Hier noch mal für's Forum. Dann haben andere auch was davon ;)
Danke für deine Hilfe!

Lieber Franz!
Ich bin ein bisschen weiter gekommen mit meiner Suche.
Vielleicht hast du noch einen Tipp:

Das Problem, dass der Gutschein nicht erkannt wird scheint in Folgenden Zeilen ausgelöst zu werden:

class.tx_ttproducts_basket_view.php
Zeilen 517-562

if ($subpartMarker != '###BASKET_OVERVIEW_TEMPLATE###') {

// Added Franz: GIFT CERTIFICATE
$markerArray['###GIFT_CERTIFICATE_UNIQUE_NUMBER_NAME###']='recs[tt_products][giftcode]'; // deprecated
$markerArray['###FORM_NAME###']='BasketForm';
$markerArray['###FORM_NAME_GIFT_CERTIFICATE###']='BasketGiftForm';

/* Added els5: markerarrays for gift certificates */
/* Added Els6: routine for redeeming the gift certificate (other way then proposed by Franz */
$markerArray['###INSERT_GIFTCODE###'] = 'recs[tt_products][giftcode]';
$markerArray['###VALUE_GIFTCODE###'] = $this->basket->recs['tt_products']['giftcode'];
$cpArray = $TSFE->fe_user->getKey('ses','cp');

# Bleibt bei mir leider leer!
$creditpointsGifts = $cpArray['gift']['amount'];

$markerArray['###CREDITPOINTS_GIFTS###'] = $creditpointsGifts;

if ($this->basket->recs['tt_products']['giftcode'] == '') {
$subpartArray['###SUB_GIFTCODE_DISCOUNT###'] = '';
$subpartArray['###SUB_GIFTCODE_DISCOUNTWRONG###'] = '';
if ($creditpointsGifts == '') {
$subpartArray['###SUB_GIFTCODE_DISCOUNT_TRUE###'] = '';
}
} else {
$uniqueId = t3lib_div::trimExplode ('-', $this->basket->recs['tt_products']['giftcode'], true);
$query='uid=\''.intval($uniqueId[0]).'\' AND crdate=\''.$uniqueId[1].'\'';
$giftRes = $TYPO3_DB->exec_SELECTquery('*', 'tt_products_gifts', $query);
$row = $TYPO3_DB->sql_fetch_assoc($giftRes);
$TYPO3_DB->sql_free_result($giftRes);

# Bleibt bei mir leider leer!
$pricefactor = doubleval($this->conf['creditpoints.']['pricefactor']);

$creditpointsDiscount = $creditpointsGifts * $pricefactor;
$markerArray['###GIFT_DISCOUNT###'] = $creditpointsDiscount;
$markerArray['###VALUE_GIFTCODE_USED###'] = $this->basket->recs['tt_products']['giftcode'];


# HIER ENTSTEHT DAS PROBLEM
# $row ist korrekt befüllt
# $creditpointsGifts ist nicht befüllt und $pricefaktor auch nicht daher wird der else Block ausgeführt

if ($row && $creditpointsGifts && $pricefactor > 0) {
$subpartArray['###SUB_GIFTCODE_DISCOUNTWRONG###']= '';
if ($creditpointsGifts == '') {
$subpartArray['###SUB_GIFTCODE_DISCOUNT_TRUE###'] = '';
}

} else {
$markerArray['###VALUE_GIFTCODE_USED###'] = '**********';
if (t3lib_div::_GP('creditpoints_gifts') == '') {
$subpartArray['###SUB_GIFTCODE_DISCOUNT_TRUE###'] = '';
}
}
}
}

----------------------------------------------------
$pricefactor = doubleval($this->conf['creditpoints.']['pricefactor']);

Ich habe mal ein var_dump(conf); durchgeführt.
Dort gibt es das die Schlüssel 'creditpoints.']['pricefactor'] nicht!
Warum nicht?

----------------------------------------------------

$creditpointsGifts = $cpArray['gift']['amount'];
Keine Ahnung was das $cpArray ist aber die variable bleibt leer.


Mache ich etwas falsch oder ist da ein Bug im Spiel?

LG Thomas