Versandkosten-Addon | GMAlex

Versandkosten-Addon

Manchmal ist es sinnvoll Händlern andere Versandoptionen als Endkunden anzubieten, weil das der JTL-Shop2 im Moment nicht bietet habe ich diese kleine Addon erstellt. Hier die Installationsanleitung:

1. Paket downloaden und Dateien ersetzen

Zu nächst müsst ihr euch folgendes Paket runter laden: Versandarten-Addon
Diesmal ist auch eine Anleitung im Paket enthalten falls es wieder Probleme mit WordPress gibt.
Nachdem ihr das Paket entpackt habt müsst ihr im Ordner admin die Datei versandarten.php ersetzen sowie in admin/templates/tpl_inc die Datei versandarten_neue_Versandart.tpl.

2. SQL

Nun führt ihr folgende SQL-Befehlt aus oder verwendet die Datei dbinsert.sql die dem Paket beiliegt.

1
2
3
4
5
CREATE TABLE 'tversandartkundengruppe' (
  'kVersandart' INT(10) NOT NULL DEFAULT '0',
  'kKundengruppe' INT(10) NOT NULL DEFAULT '0',
  PRIMARY KEY  ('kVersandart','kKundengruppe')
) TYPE=MyISAM;

3. includes/tools.Global.php

1. Schritt – ca. Zeile 1178

1
2
3
4
5
6
7
8
function gibMoeglicheVersandarten($lieferland, $plz, $versandklassen)
{
	$moeglicheVersandarten = array();
	$minVersand = 10000;
 
	$cISO = $lieferland;
 
	$versandarten = $GLOBALS["DB"]->executeQuery("select * from tversandart where cLaender like \"%".$cISO."%\" and (cVersandklassen='-1' or (cVersandklassen like \"% ".$versandklassen." %\" or cVersandklassen like \"% ".$versandklassen."\")) order by nSort",2);

ersetzen durch

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function gibMoeglicheVersandarten($lieferland, $plz, $versandklassen, $kundengruppe = null)
{
	$moeglicheVersandarten = array();
	$minVersand = 10000;
 
	$cISO = $lieferland;
 
	if(!$kundengruppe)
		$versandarten = $GLOBALS["DB"]->executeQuery("select * from tversandart where cLaender like \"%".$cISO."%\" and (cVersandklassen='-1' or (cVersandklassen like \"% ".$versandklassen." %\" or cVersandklassen like \"% ".$versandklassen."\")) order by nSort",2);
	else
	{
		$versandarten = $GLOBALS["DB"]->executeQuery("	SELECT tversandart.*, tversandartkundengruppe.kkundengruppe
								FROM tversandart LEFT JOIN tversandartkundengruppe
									ON tversandart.kversandart = tversandartkundengruppe.kversandart
								WHERE tversandart.cLaender LIKE \"%".$cISO."%\" 
									AND (	tversandart.cVersandklassen='-1' 
										OR (tversandart.cVersandklassen LIKE \"% ".$versandklassen." %\" 
										OR tversandart.cVersandklassen LIKE \"% ".$versandklassen."\"))
									AND (	tversandartkundengruppe.kkundengruppe IS NULL
										OR tversandartkundengruppe.kkundengruppe = ".$kundengruppe.")
								ORDER BY nSort",2);
	}

4. includes/warenkorb_inc.php

1. Schritt – ca. Zeile 142

1
GLOBALS['smarty']->assign( 'Versandarten', gibMoeglicheVersandarten( $GLOBALS['DB']->escape( $_POST['land']), $GLOBALS['DB']->escape( $_POST['plz']), gibVersandklassen ($_SESSION['Warenkorb']) ));

ersetzen durch

1
$GLOBALS['smarty']->assign( 'Versandarten', gibMoeglicheVersandarten( $GLOBALS['DB']->escape( $_POST['land'] ), $GLOBALS['DB']->escape( $_POST['plz'] ),gibVersandklassen( $_SESSION['Warenkorb'] )), $_SESSION['Kunde']->kKundengruppe );

5. bestellvorgang.php

1. Schritt – ca. Zeile 450

1
$smarty->assign('Versandarten',gibMoeglicheVersandarten($lieferland, $plz, gibVersandklassen($_SESSION['Warenkorb'])));

ersetzen durch

1
$smarty->$smarty->assign('Versandarten',gibMoeglicheVersandarten($lieferland, $plz, gibVersandklassen($_SESSION['Warenkorb']), $_SESSION['Kunde']->kKundengruppe));

2. Schritt – ca. Zeile 466 Nur nötig mit “Quick-Order”-Addon

1
$shipping_types = gibMoeglicheVersandarten($lieferland, $plz, gibVersandklassen($_SESSION['Warenkorb']));

ersetzen durch

1
$shipping_types = gibMoeglicheVersandarten($lieferland, $plz, gibVersandklassen($_SESSION['Warenkorb']), $_SESSION['Kunde']->kKundengruppe);

6. admin/templates/langgerman.conf

1. Schritt – einfügen unter [versandarten] ca. Zeile 66

1
restrictedToCustomerGroups = 'Erlaubte Kundengruppen'