Seite 1 von 1

Shop: Downloadartikel verkaufen

Verfasst: Do 10. Jul 2014, 13:53
von Michael D.
Hallo,

hat jemand von Euch schon einen Shop mit webEdition realisiert in dem Downloadartikel verkaufen werden?
Wie kann man das realisieren in Hinblick auf die Versandkosten, und das File dann im Kundenbereich o.ä. zum Download bereits stellen?

Re: Shop: Downloadartikel verkaufen

Verfasst: Do 10. Jul 2014, 16:00
von ThomasGoebe
Hallo Michael,

ja, habe ich. Versandkosten wie bei "normalen Shops" auch, in dem Fall keine. Oder verstehe ich die Frage nicht?
Hier ein Ansatz für den Rest:
- Artikel als Objekt
- der eigentliche Download (Objektfeld href) liegt in einem per htaccess geschützten Verzeichnis oder ausserhalb des Document Root
- im Kundenbereich per listview type="orders" die (bezahlten) Bestellungen des Kunden ermitteln
- Download über ein PHP Script, welches noch einmal prüft, ob eine Bestellung zu dem Artikel für den angemeldeten Kunden vorliegt und wenn ja die Datei ausliefert
- Alternative: per PHP Download Codes (Objekte) mit begrenzter Gültigkeit erzeugen. Der Kunde muss dann eben den Code eingeben. Download dann wie oben.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 14. Jul 2014, 10:52
von Michael D.
danke Thomas. Das werde ich mir mal so zusammen basteln.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 14. Jul 2014, 12:01
von mokraemer
bzgl. geschützter Verzeichnisse gab es auch mal ne Sponsor-Anfrage das in WE zu integrieren - ist aber nicht zustande gekommen.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 14. Jul 2014, 12:27
von AndreasWitt
@Michael: die Online Shops von basieren auf dem webEdition Shop-Modul und funktionieren ähnlich dem von Thomas beschriebenen Muster. Das hat sich sehr gut bewährt.

Grüße, Andreas

Re: Shop: Downloadartikel verkaufen

Verfasst: Di 15. Jul 2014, 15:05
von Michael D.
wenn ich Download-Produkte und normale Produkte im Warenkorb kombinieren kann, wie löse ich das mit den Versandkosten?
Wenn ich dann beispielsweise nur ein Download-Produkte bestelle?
Mit einer extra Checkbox bei dem Objekt und einer zusätzlichen Abfrage oder geht das anders?

Re: Shop: Downloadartikel verkaufen

Verfasst: Di 15. Jul 2014, 15:19
von AndreasWitt
... ich denke, hier wirst du mit der Versanskostenberechnung auf Basis des Warenkorbwertes nicht arbeiten können. Die Versandkosten solltest du dann extern berechnen und über die Attribute shipping.... übergeben.

Ich habe die Versandkosten mit Objekten abgebildet. Wenn die Versandkosten Gewichtsabhängig sind, dann gibt es bei den Produkten ein Feld "Gewicht" und dann schaue ich nach, welchen Kosten pro Gramm abhängig vom Zielland entstehen 8)

Bei digitalen Produkten gibt es kein Gewicht und dann auch keine Versandkosten. Wenn die Versandkosten bei dir anders ermittelt werden, könnte sich auch eine weitere Checkbox bei den Produkten, z.B. "virtuelles Produkt" als sinnvoll erweisen.

Grüße, andreas

Re: Shop: Downloadartikel verkaufen

Verfasst: Di 15. Jul 2014, 21:07
von ThomasGoebe
Hallo Michael,

ich stimme Andreas zu, auch bei meinen Shops habe ich die Versandkosten selbst errechnet.
Wenn wir genug (auch finanzielle) Unterstützer zusammen bekommen, dann könnten wir sicher eine Erweiterung des Shop Moduls andenken, in der dann auch komplexere Versandkostenberechnungen möglich sind.
Aber aktuell ist der Weg über eine eigene Berechnung in Deinem Szenario sinnvoll.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 15:12
von Michael D.
Habe das nun mal wie folgt gelöst. Spricht etwas dagegen das so zu machen?

Code: Alles auswählen

<we:listview type="order" rows="$Rows" offset="$offset" name="customerOrders" order="OrderID" desc="true" condition="\$customerMatch">
	<we:ifFound>
		<we:repeat>
			<?php //p_r($lv);?>
			<h3>
				#<we:field type="text" name="OrderID" /> - <we:var type="global" name="TextOrderDate" />: <we:field type="date" name="DateOrder" />
				<we:ifFieldNotEmpty match="DateShipping"><br /><we:var type="global" name="TextFullfillmentDate" />: <we:field type="date" name="DateShipping" format="d.m.Y" /></we:ifFieldNotEmpty> 
				<we:ifFieldNotEmpty match="DateFinished">- <we:var type="global" name="TextShippingDate" />: <we:field type="date" name="DateFinished" format="d.m.Y" /></we:ifFieldNotEmpty> 
				<we:ifFieldNotEmpty match="DateCancellation">- <we:var type="global" name="TextCancellationDate" />: <we:field type="date" name="DateCancellation" format="d.m.Y" /></we:ifFieldNotEmpty>
			</h3>
			
			<p>
				<we:var type="global" name="TextPayment" />: 
				<we:ifField name="Zahlungsart" type="text" match="Vorkasse" operator="equal">
					<we:var type="global" name="TextPrepaid" />
					<we:else />
					<we:field type="Text" name="Zahlungsart" />
				</we:ifField>
				<we:ifFieldNotEmpty match="DatePayment">
					(Zahlung eingegangen: <we:field type="date" name="DatePayment" format="d.m.Y" />)
					<we:ifFieldEmpty match="DateCancellation">
						<we:ifFieldNotEmpty match="DateFinished">
							<we:field type="text" name="OrderID" to="global" nameto="OrderID" />
							<?php
$GLOBALS['flagPaid'] = "paid".$GLOBALS['OrderID'];
							?>
						</we:ifFieldNotEmpty>
					</we:ifFieldEmpty>
				</we:ifFieldNotEmpty> |
				
				
				<we:var type="global" name="TextDeliveryMethod" />: <we:field type="text" name="Versandart" /> | 
				<we:var type="global" name="TextBillingAmount" />: <we:field type="text" name="Rechnungsbetrag" /> &euro; | 
				<we:var type="global" name="TextTrackingnumber" />: 
				
				<we:ifField name="Versandunternehmen" type="text" match="DHL" operator="equal">
					<a href=<we:var type="global" name="TrackingLinkDHL" /><we:field type="text" name="Trackingnumber" />><we:field type="text" name="Trackingnumber" /></a>
				<we:else />
				<we:ifField name="Versandunternehmen" type="text" match="UPS" operator="equal">
					<a target="_blank" href="<we:var type="global" name="TrackingLinkUPS" /><we:field type="text" name="Trackingnumber" />&AgreeToTermsAndConditions=yes&track.x=40&track.y=10"><we:field type="text" name="Trackingnumber" /></a>
					<we:else />
					<we:ifField name="Versandunternehmen" type="text" match="DPD" operator="equal">
						<a target="_blank" href="<we:var type="global" name="TrackingLinkDPD" /><we:field type="text" name="Trackingnumber" />"><we:field type="text" name="Trackingnumber" /></a>
					</we:ifField>
				</we:ifField>
			</we:ifField>
	</p>
	<p>
		<we:field type="text" name="OrderID" to="global" nameto="generalOrderID" />
		<we:listview type="orderitem" name="bestellteartikel" orderid="\$generalOrderID">
			<we:repeat>
				<strong><we:field type="text" name="Quantity" /> x <we:field type="text" name="shoptitle" /></strong> 
				<?php
//echo "DEBUG:".$GLOBALS['flagPaid'];
if($GLOBALS['flagPaid'] == "paid".$GLOBALS['generalOrderID']) { ?>
				<we:ifFieldNotEmpty match="productfile">
					[<a href="<we:field type="href" name="productfile" />" title="download" target="_blank">Datei laden</a>]
				</we:ifFieldNotEmpty>
				<?php } ?>
				<br />
			</we:repeat>
		</we:listview>
	</p>
	<hr />
</we:repeat>
<we:else />
<we:var type="global" name="TextNoOrderHistory" />
</we:ifFound>
</we:listview>

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 15:13
von Michael D.
in der .htaccess steht dies:

Code: Alles auswählen

deny from all

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 15:19
von AndreasWitt
@Michael: in welcher .htaccess-Datei steht denn das?

Ich würde den Download auf jeden Fall anders lösen, weil so der Link zur Produkt bekannt ist und jederzeit von überall heruntergeladen werden kann.

Wenn in dem Verzeichnis, indem du die Download-Produkte speicherst, eine .htaccess-Datei hast, klappt der Download so wahrscheinlich auch nicht.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 15:24
von Michael D.
die .htacess ist in dem Ordner mit den Files. Die URL aufzurufen klappt von außerhalb nicht, aber mit dem Link schon.
Ist also so kein Problem.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 16:12
von Michael D.
hm, funktioniert wohl doch nicht so ganz. Das File kann ich so doch nicht aufrufen.

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 16:44
von AndreasWitt
@Michael: hätte mich auch gewundert, wenn's funktioniert hätte 8)

Re: Shop: Downloadartikel verkaufen

Verfasst: Mo 21. Jul 2014, 18:30
von mokraemer
naja, wenn es kein Apache ist, klappt das trotzdem....
der ist der einzige der die Dateien verarbeitet.

Btw. denkt dran, daß sich in apache 2.4 die Syntax geändert hat! Man sollte also lieber

Code: Alles auswählen

	<ifModule mod_authz_core>
		Require all denied
	</ifModule>
	<ifModule !mod_authz_core>
		Order Allow,Deny
		Deny from all
	</ifModule>
schreiben!