Zum Inhalt springen

Gutscheinsystem

Erstellt am 3. März 2007 · 10 Antworten · letzte Antwort am 8. August 2007

Tags: Frage

Eros ·

:o Ich bin zu doof dafür :o

Das Gutscheinsystem wird für mein Empfinden sehr stiefmütterlich behandelt. Das will ich ändern und deswegen das Thema hier mal aufgreifen!

In den Constants habe ich:

plugin.tt_products.whereGift = category = 21

Und auf der Gutscheinseite das Plugin Produkte: Liste Geschenke

Ich habe es mit dem dänischen, sowie mit dem holländischen Template versucht - in beiden Fällen passiert folgendes:

Der Gutschein erscheint in der Listansicht, mit Adressfeldern für Absender und Empfänger. Das Formular lässt sich jedoch nicht abschicken und der Gutschein wird auch nicht in den Warenkorb verfrachtet.

Von der Single-View raus geht's aber, der Gutschein landet im Warenkorb und kann bestellt werden.

Jetzt kommt die Stelle wo es ausbeisst!

Die Felder für den Gutscheincode in den Benutzer- bzw. Bestelldaten bleiben kontinuierlich leer!

Wo kommen denn jetzt die Codes her? Muss ich die selbst vergeben und im BE manuell eintragen oder werden die generiert? Wie und wo werden sie gespeichert?

Vielleicht denke ich auch irgendwie grundlegend in die falsche Richtung???

Ich bitte um rege Teilnahme!

Eros ·

Der Bestellvorgang funktioniert jetzt und lässt sich auch abschliessen!

Im Bestellstatus setze ich dann die Aktion (Code: 60) Gutschein an den Empfänger senden, jedoch wird dieser leider nicht versandt!

Habe ich irgendwas wesentliches vergessen bzw. übersehen?

Eros ·

Offensichtlich müssen die Gutscheine als Varianten definiert werden. Das haut aber weder in der List- noch in der Singleview hin. Keine Ahnung warum!

Zudem werden die Gutscheine nicht an den Empfänger gesendet! Das dafür zuständige TRACKING_EMAILNOTIFY_TEMPLATE bleibt quasi regungslos irgendwo im Nirvana hängen!

Ich habe das dänische Template verwendet, original und modifiziert - aber da ist nichts zu machen. Es wäre schon irgendwie ein Vorteil, wenn die Beispieltemplates funktionieren würden - wobei ich glaube, dass das Problem eher an tt_products selbst liegt.

Hat denn dieses Gutscheinsystem bisher noch niemand umgesetzt oder habe nur ich ein Problem damit? Kann ich mir eigentlich gar nicht vorstellen...

TYPO3 4.1
tt_products 2.5.2
fh_library 0.0.16
table 0.1.9
sr_static_info 2.0.0
static_info_tables 2.0.2
static_info_tables_de 2.0.1

Eros ·

Das erste Problem habe ich jetzt gelöst, die Gutscheine lassen sich in Form von Varianten anlegen und der Bestellvorgang läuft jetzt ohne Probleme ab!

Aber:

Der Gutschein wird nach wie vor nicht abgeschickt. Zudem sehe ich nicht, wie und wo die Gutscheine im BE gelistet werden. Kann mir jemand einen Tipp geben, wo es hakt? Kann ja eigentlich nichts Grosses mehr sein...

Eros ·

Ich komme nicht weiter!

Tatsache ist - der Bestellvorgang für die Gutscheine klappt, die Bestätigungsmails werden korrekt verschickt und sie werden auch in der entsprechenden Tabelle der Datenbank gespeichert. Sie werden dann allerdings nicht per Mail verschickt und auch im BE nirgendwo dargestellt?

Kann mir jemand helfen???

Eros ·

Ich habe jetzt selbst mal weitergemacht!

Diese Condition hier in der lib/class.tx_ttproducts_tracking.php gehört genau anders rum, sonst kommt man im Admin-Bereich des trackings niemals an des Versenden der Gutscheine heran!

Anstelle von:

if ($admin || ($val>=50 && $val<59))	{// Numbers 50-59 are usermessages.
	.
	.
	.
} else if ($val>=60 && $val<69) { //  60 -69 are special messages
	Geschenkgutschein an Empfänger senden
	.
	.
}

Gehört das so:

if ($val>=60 && $val<69) { //  60 -69 are special messages
	Geschenkgutschein an Empfänger senden
	.
	.
} else if ($admin || ($val>=50 && $val<59))	{// Numbers 50-59 are usermessages.
	.
	.
	.
}

Die Gutscheine werden jetzt also verschickt und in der DB-Tabelle tt_products_gifts als gelöscht markiert! Allerdings werden sie beim Einlösen nirgendwo gutgeschrieben!

Warum nicht? Weiss das wer? Mr. Flink vielleicht??? :o

Flink ·
Eros schrieb

Diese Condition hier in der lib/class.tx_ttproducts_tracking.php gehört genau anders rum, sonst kommt man im Admin-Bereich des trackings niemals an des Versenden der Gutscheine heran!

Nein, das war schon richtig. Der Admin sollte in der Regel keine Grußbotschaften verschicken, sondern nur der Käufer. Aber man kann das natürlich zulassen.

Eros schrieb

Die Gutscheine werden jetzt also verschickt und in der DB-Tabelle tt_products_gifts als gelöscht markiert! Allerdings werden sie beim Einlösen nirgendwo gutgeschrieben!

Warum nicht? Weiss das wer? Mr. Flink vielleicht??? :o

Es müßte einen gewissen Geldbetrag für eingelöste Gutscheine geben. Gutscheine werden in Creditpoints des FE Benutzers umgerechnet. Diese kann er dann beim Einkauf verwenden. Er muß also danach nochmals die Guthabenpunkte beim Kauf einlösen.

creditpoints.pricefactor = 1.5
Eros ·

Hallo - danke erstmal!

Der Admin sollte in der Regel keine Grußbotschaften verschicken, sondern nur der Käufer

Das war ein Denkfehler meinerseits. Ob nun Kunde oder Admin - die Versenderei funktioniert jetzt jedenfalls.

Es müßte einen gewissen Geldbetrag für eingelöste Gutscheine geben. Gutscheine werden in Creditpoints des FE Benutzers umgerechnet. Diese kann er dann beim Einkauf verwenden. Er muß also danach nochmals die Guthabenpunkte beim Kauf einlösen.

Da hakt es irgendwie noch! ich habe die creditpoints im setup definiert und folgendes Script dem holländischen Beispiel entsprechend eingebunden. Aber das wird komplett ignoriert und die Gutscheinpunkte nirgendwo gutgeschrieben.

	<tr>
		<td valign="top" colspan="5">Uw voordeel</td>
		<td valign="top" align="right">###CUR_SYM###&nbsp;###PRICE_TOTUNITS_DISCOUNT###</td>
	</tr>

	<tr>
		<td valign="top" colspan="5">U spaart met deze bestelling</td>
		<td valign="top" align="right">###CREDITPOINTS_SAVED###</td>
	</tr>

	<tr>
		<td valign="top" colspan="5">Subtotaal</td>
		<td valign="top" align="right">###CUR_SYM###&nbsp;###PRICE_GOODSTOTAL_TOTUNITS_NO_TAX###</td>
	</tr>

	<tr>
		<td valign="top" colspan="5">Ausgegebene Kreditpunkte</td>
		<td valign="top" align="right">###CREDITPOINTS_SPENDED###</td>
	</tr>




	<!-- ###SUB_CREDITPOINTS_AMOUNT_EMPTY### begin -->
	<tr class="even">
		<td colspan="2" scope="row">Kurkensaldo <span class="kurkensaldo">###AMOUNT_CREDITPOINTS###</span></td>
		<td colspan='4'>&nbsp;</td>
		<td colspan='4'>&nbsp;</td>
	</tr>     
	<!-- ###SUB_CREDITPOINTS_AMOUNT_EMPTY### end -->

	<!-- ###SUB_CREDITPOINTS_AMOUNT### begin -->
	<tr>
		<td colspan="2">Kurkensaldo</td>

		<td colspan="4">
			<input size="5" maxlength="5" type="text" name="###CHANGE_AMOUNT_CREDITPOINTS###" value="###AMOUNT_CREDITPOINTS_QTY###"> 
			<img src="fileadmin/images/shop/+.gif" width="12" height="11" onClick="javascript:document.forms['###FORM_NAME###']['###CHANGE_AMOUNT_CREDITPOINTS###'].value++;">
			<img src="fileadmin/images/shop/_.gif" width="12" height="11" onClick="javascript:document.forms['###FORM_NAME###']['###CHANGE_AMOUNT_CREDITPOINTS###'].value--;">
			<input type="hidden" name="mode_update" value="1">
			<input type="submit" name="products_update" value="kurken inruilen" onClick="if (!document.forms['###FORM_NAME###']['###CHANGE_AMOUNT_CREDITPOINTS###'].value!=''){document.forms['###FORM_NAME###']['###CHANGE_AMOUNT_CREDITPOINTS###'].value=0;};"> <span class="bold"><a href="#" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('info', '', 'img/bullets/info-icon-hover.gif', 1)">
			<img src="fileadmin/images/shop/info-icon.gif" alt="mehr Informationen" name="info2" width="14" height="14" border="0" class="info" id="info2"></a></span></nobr>
		</td>


	</tr>
	<!-- ###SUB_CREDITPOINTS_AMOUNT### end -->

	<!-- ###SUB_CREDITPOINTS_DISCOUNT_EMPTY### begin -->
	<!-- ###SUB_CREDITPOINTS_DISCOUNT_EMPTY### end -->

	<!-- ###SUB_CREDITPOINTS_DISCOUNT### begin -->
	<tr>
		<td colspan="5">Uw kurken korting:</td>
		<td align="right">- &euro; ###CREDIT_DISCOUNT###</td>
	</tr>
	<!-- ###SUB_CREDITPOINTS_DISCOUNT### end -->

Der Wert in ###CREDIT_DISCOUNT### wird im Zusammenhang mit dem im Setup definierten Wert von creditpoints.pricefactor zwar korrekt berechnet, aber sonst passieert leider nichts!

Ist irgendwas falsch daran oder woran könnte es liegen?

Grüsse!

Eros ·

Ich komme nicht dahinter! Gutscheine kaufen und dem FE-User gutschreiben klappt, aber das Einlösen von Creditpoints bzw. Gutscheinpunkten geht nicht!

Stellt sich mir die Frage: Was mache ich falsch? Oder ist generell irgendwo der Wurm drin? Im PHP-Script vielleicht? Funktioniert das Gutscheinsystem überhaupt? Ich habe meine Zweifel!

Wäre schön, wenn sich Flink nochmal dazu äussern könnte!

Flink ·

Es sollte über diesen Code von model/class.tx_ttproducts_order.php gehen. Die creditpoints müssen im Setup konfiguriert sein.

		if ($this->conf['creditpoints.']) {
			$creditpoints = tx_ttproducts_creditpoints_div::getCreditPoints($fieldsArray['amount']);
/* Added Els: update fe_user with amount of creditpoints (= exisitng amount - used_creditpoints - spended_creditpoints + saved_creditpoints */
//			$fieldsArrayFeUsers['tt_products_creditpoints'] = $TSFE->fe_user->user['tt_products_creditpoints'] + ($creditpoints * $this->calculatedArray['priceTax']['total']) - $this->basket->recs['tt_products']['creditpoints'];
			$fieldsArrayFeUsers['tt_products_creditpoints'] = 
				floatval($TSFE->fe_user->user['tt_products_creditpoints'] - 
					$this->basket->recs['tt_products']['creditpoints'] -
					t3lib_div::_GP('creditpoints_spended') + 
					t3lib_div::_GP('creditpoints_saved'));
		}
kleber ·
Eros schrieb

... Funktioniert das Gutscheinsystem überhaupt? Ich habe meine Zweifel! ...

Kämpfe auch gerade mit den Gutscheinpunkten.
Welche Art Eingabe verlangt plugin.tt_products.whereGift?

Gibts mittlerweile Lösungsansätze?