Shopware Knowledgebase

Werde ein Fan von Shopware Verfolge Shopware auf Twitter Zur Website von Shopware wechseln

Schnellsuche:

Keine Antwort gefunden?
Probieren Sie es über den Shopware Account
Sollten Sie als Kunde oder Partner in diesem Portal einmal nicht die Informationen finden, die sie suchen, nutzen Sie einfach den Shopware Account. Über dieses Supportsystem stehen wir Ihnen bei allen technischen Fragen gerne zur Seite, sogar am Wochenende. Weitere Informationen finden Sie hier.
Sie haben noch keinen Shopware Account?
Kein Problem! Lassen Sie sich einfach über unser Kontaktformular beraten.

Express-Versand

0 Kommentare
ab Version:3.0.4

Beschreibung

HEUTE BESTELLT - MORGEN GELIEFERT

Mit diesem Tutorial und dem Premium-Versandkosten-Modul kann Ihren Kunden, zusätzlich zu den Standard-Versandarten, auch ein Express-Versand angeboten werden.

Somit wird dem Besucher bereits auf der Detailseite exakt angezeigt, in welcher Zeitspanne noch eine Bestellung aufgeben werden muss, um diese an dem genannten Zeitpunkt zu erhalten.

Auch im Warenkorb werden Informationen, wie z.B. Liefertermin angezeigt.

Installation

Legen Sie von den zu ändernden Dateien und der Datenbank im Vorfeld eine Sicherung an!

Template-Änderungen

Am Anfang der Datei "templates/0/de/html/articles/article_details_data.tpl" diesen Smarty-Code hinzufügen:

 
{* Express-Versand *}
{if $sArticle.sExpressDispatch}
	{eval var=$sConfig.sSnippets.sArticlesExpressDispatch}
{/if}
{* /Express-Versand *}
 

In der Datei "templates/0/de/html/basket/basket_middle.tpl" nach diesem Smarty-Code suchen:

{$selectedDispatch.description}

und ersetzen durch:

{eval var=$selectedDispatch.description}

Datenbank-Änderungen

 
UPDATE `s_core_config`
SET `value` = CONCAT(`value`,', DATE_ADD(CURDATE(), INTERVAL IF(WEEKDAY(CURDATE())=5,2,1) DAY) as deliverydate')
WHERE `value` NOT LIKE '%deliverydate%'
AND `name` = 'sPREMIUMSHIPPIUNGASKETSELECT';
 
SET @parent = (SELECT `id` FROM `s_core_config_groups` WHERE `name`='Premium-Versandkosten');
 
INSERT INTO `s_core_config` (`group`, `name`, `value`, `description`, `required`, `warning`, `detailtext`, `multilanguage`) VALUES
(@parent, 'sEXPRESSDISPATCHSQL', 'd.name LIKE \'%express%\'', 'Express-Versandart SQL-Abfrage', 1, 0, '', 0);
 
INSERT INTO `s_core_config` (`group`, `name`, `value`, `description`, `required`, `warning`, `detailtext`, `multilanguage`) VALUES
(@parent, 'sEXPRESSWEEKDAYS', 'Montag;Dienstag;Mittwoch;Donnerstag;Freitag;Samstag;Sonntag', 'Wochentage', 1, 0, '', 1);
INSERT INTO `s_core_config` (`group`, `name`, `value`, `description`, `required`, `warning`, `detailtext`, `multilanguage`) VALUES
(@parent, 'sEXPRESSMONTHS', 'Januar;Februar;März;April;Mai;Juni;Juli;August;September;Oktober;November;Dezember', 'Monate', 1, 0, '', 1);
 
INSERT INTO `s_core_hookpoints` (`name`, `module`, `position`, `code`, `modified`) VALUES
('sCore.php_sCustomRenderer_BeforeEnd', 'Express-Versand', '', '$sRender[''variables''][''sWeekdays''] = explode('';'', '';''.$this->sSYSTEM->sCONFIG[''sEXPRESSWEEKDAYS'']);\r\n$sRender[''variables''][''sMonths''] = explode('';'', '';''.$this->sSYSTEM->sCONFIG[''sEXPRESSMONTHS'']);', '0000-00-00 00:00:00');
INSERT INTO `s_core_hookpoints` (`name`, `module`, `position`, `code`, `modified`) VALUES
('sArticles.php_sGetArticleById_BeforeReturn', 'Express-Versand', '', '$getArticle = $this->sSYSTEM->sMODULES[''sAdmin'']->sGetExpressDispatch($getArticle);', '0000-00-00 00:00:00');
 
SET @parent = (SELECT `groupID` FROM `s_core_config_text_groups` WHERE `description`='articles');
 
INSERT INTO `s_core_config_text` (`group`, `name`, `value`, `description`) VALUES
(@parent, 'sArticlesExpressDispatch', '{assign var="sDeliveryWeekday" value=$sArticle.sExpressDispatch.deliverydate|date_format:"%u"}\r\n	{assign var="sDeliveryMonth" value=$sArticle.sExpressDispatch.deliverydate|date_format:"%m"|intval}\r\n	{assign var="sDeliveryDay" value=$sArticle.sExpressDispatch.deliverydate|date_format:"%d"}\r\n	{assign var="sBindHours" value=$sArticle.sExpressDispatch.bind_time|date_format:"%H"|intval}\r\n	{assign var="sBindMinutes" value=$sArticle.sExpressDispatch.bind_time|date_format:"%M"|intval}\r\n	<p>\r\n		<strong>Lieferung bis {$sWeekdays[$sDeliveryWeekday]}, den {$sDeliveryDay}. {$sMonths[$sDeliveryMonth]}:</strong>\r\n		
\r\n		Bestellen Sie in den nächsten\r\n		<span class="deliverable1">{if $sBindHours} {$sBindHours} Stunden und {/if} {$sBindMinutes} Minuten </span>\r\n		und wählen Sie <strong>{$sArticle.sExpressDispatch.name}</strong> an der Kasse\r\n		
\r\n		
\r\n	</p>', 'Express-Versand');
 
UPDATE `s_core_factory` SET `inheritname` = 'myAdmin', `inheritfile` = 'myAdmin.php' WHERE `basename` = 'sAdmin';

Modul-Änderungen

Zum Schluss müssen Sie noch die myAdmin.php anlegen bzw. anpassen.

Als erstes müssen Sie die Datei Datei "myAdmin.php" herunterladen und entpacken. (Diesen Download finden Sie unten auf dieser Seite!)

Diese Datei muss auf dem Server in folgenden Ordner kopiert werden: "/engine/core/class/inherit/"

Wenn die Datei schon existiert, müssen Sie die Methoden aus den Dateien zusammenfügen.

Normalerweise genügt es, wenn Sie den Abschnitt zwischen

/* Express-Versand Start */

und

/* Express-Versand Ende */

aus der heruntergeladenen Datei oberhalb der letzten beiden Zeilen einfügen:

		// hier einfügen
	}  	// vorletzte Zeile
?>		// letzte Zeile

Einstellungen

Express-Versandart SQL-Abfrage

Mit dieser Abfrage wird bestimmt welche Versandart zur Berechung der Lieferzeit auf Artikel-Detailseite genommen wird.

Diese Einstellungen könnnen Sie den "Premium-Versandkosten"-Einstellungen unter den Grundeinstellungen vornehmen.

Defaultwert (Name enthält den Wert "express"):

d.name LIKE '%express%'

Versandart-Beschreibung

Der Text auf der Warenkorbseite ist die Beschreibung der Versandart.

Damit dort das Lieferdatum ausgegeben werden kann, können Sie in der Versandart-Beschreibung folgendes Template nutzen:

 
{assign var="sDeliveryWeekday" value=$selectedDispatch.deliverydate|date_format:"%u"}
{assign var="sDeliveryMonth" value=$selectedDispatch.deliverydate|date_format:"%m"|intval}
{assign var="sDeliveryDay" value=$selectedDispatch.deliverydate|date_format:"%d"}
Lieferung am 
 
{$sWeekdays[$sDeliveryWeekday]}, den {$sDeliveryDay}. {$sMonths[$sDeliveryMonth]}
 

Weitere Einstellungen

Damit auf der Artikeldetailseite die verbleibende Zeit in Stunden/Minuten, bis der Express-Versand nicht mehr möglich ist, angezeigt wird, müssen Sie bei der Express-Versandart die Einstellung "Uhrzeit bis" vornehmen.

Den Text auf der Artikeldetailseite können Sie in den Textbausteinen anpassen. Der Textbaustein hat den Namen "sArticlesExpressDispatch" und kann auch unter diesem Namen in der Suche gefunden werden.

Das Lieferdatum wird über eine SQL-Abfrage bestimmt. Diese SQL-Abfrage könnnen Sie den "Premium-Versandkosten"-Einstellungen unter den Grundeinstellungen anpassen.

Die Einstellung lautet "Erweitere SQL-Abfrage".

Verfügbare Downloads:

Download myAdmin.zip

Artikel bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: SW1296

Lieferzeit ca. 5 Tage

€ 0,01

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 0,01

Preise inkl. gesetzlicher
MwSt. + Versandkosten*