Shopware Knowledgebase

Shopware Labs

Der Bereich Shopware Labs ist die Plattform für alle Entwickler. Hier findet man technische Dokumentationen und zahlreiche Tipps und Tricks rund um das Thema Programmieren. In dieser Rubrik stellen außerdem die Entwickler der shopware AG neue und experimentelle Lösungsansätze vor. Neue Funktionen, die in dieser Rubrik bereitgestellt werden, sind teilweise auch für zukünftige Releases geplant. Die Funktionen können dann ohne Programmierkenntnisse zukünftig direkt im Shopware Backend konfiguriert werden oder werden über Plugins bereitgestellt. Informationen über neue, geplante Funktionen finden Sie in unserer Roadmap.

Bitte beachten Sie, dass die hier bereitgestellten Lösungsansätze nicht offiziell supportet werden und nur eingebaut werden sollten, sofern Sie über das entsprechende, technische Wissen verfügen.

Kann der Aufschlag bei Versandkosten getrennt ausgegeben werden?

0 Kommentare
ab Version:3.0 bis Version:3.0.4.1
Um die absoluten Zahlungsart-Aufschläge als getrennte Position im Warenkorb ausgeben zu können, sind die nachfolgenden

Änderungen erforderlich. Anschließend werden die Aufschläge nicht mehr auf die Versandkosten aufaddiert.

Fügen Sie folgenden Code in den Hookpoint "sAdmin.php_sGetShippingcosts_Start1" ein: $surcharge = 0;

  • Erstellen Sie die Datei engine/core/class/inherit/myBasket.php (falls nicht vorhanden)
  • Bearbeiten Sie die Tabelle s_core_factory, öffnen Sie die Zeile "sBasket" und tragen bei inheritfile "myBasket.php" und bei inheritname = "myBasket" ein.

Öffnen Sie die Datei engine/core/class/inherit/myBasket.php und fügen Sie den nachfolgenden Code ein (Falls die Datei schon vorhanden ist, fügen Sie einfach die Funktion "sInsertSurchargePercent" hinzu)

 
<?
include ("$path/sBasket.php");
 
class myBasket extends sBasket
{
function sInsertSurchargePercent(){
	// $this->sSYSTEM->_SESSION["sPaymentID"]
	// $this->sSYSTEM->sMODULES['sAdmin']->sGetPaymentMeanById()
	if (!$this->sSYSTEM->_SESSION["sUserId"]){
		if (!$this->sSYSTEM->_SESSION["sPaymentID"]){
			return false;
		}else {
			$paymentInfo = $this->sSYSTEM->sDB_CONNECTION->GetRow("
			SELECT debit_percent,surcharge FROM s_core_paymentmeans WHERE id=".intval($this->sSYSTEM->_SESSION["sPaymentID"]));
		}
	} else {
		$userData =  $this->sSYSTEM->sDB_CONNECTION->GetRow("SELECT paymentID FROM s_user WHERE id=".intval($this->sSYSTEM->_SESSION["sUserId"]));
		$paymentInfo = $this->sSYSTEM->sDB_CONNECTION->GetRow("
		SELECT debit_percent,surcharge FROM s_core_paymentmeans WHERE id=".$userData["paymentID"]);
 
	}
 
 
	$name = isset($this->sSYSTEM->sCONFIG['sPAYMENTSURCHARGENUMBER']) ? $this->sSYSTEM->sCONFIG['sPAYMENTSURCHARGENUMBER']: "PAYMENTSURCHARGE";
	// Depends on payment-mean
 
	$percent = $paymentInfo["debit_percent"];
	$absolute = $paymentInfo["surcharge"];
 
	$rs = $this->sSYSTEM->sDB_CONNECTION->Execute("
	DELETE FROM s_order_basket WHERE sessionID='".$this->sSYSTEM->sSESSION_ID."' AND ordernumber='$name'
	");
 
	if (!$this->sCountArticles()) return false;
 
	if ($percent || $absolute){
 
			$amount = $this->sGetAmount();
 
			if (!empty($percent)){
			$surcharge = $amount["totalAmount"] / 100 * $percent;
			}
			if ($this->sSYSTEM->sCurrency["factor"] && !empty($absolute)){
 
				$absolute /= $this->sSYSTEM->sCurrency["factor"];
			}
 
			$surcharge += $absolute;
 
			if ($surcharge>=0){
				$surchargename = $this->sSYSTEM->sCONFIG["sPAYMENTSURCHARGEADD"];
			}else {
				$surchargename = $this->sSYSTEM->sCONFIG["sPAYMENTSURCHARGEDEV"];
			}
 
 
 
			$tax = $this->sSYSTEM->sCONFIG['sDISCOUNTTAX'];
			if (!$tax) $tax = 119;
 
			if ((!$this->sSYSTEM->sUSERGROUPDATA["tax"] && $this->sSYSTEM->sUSERGROUPDATA["id"])){
				$discountNet = $surcharge;
			}else {
				$discountNet = round($surcharge / (100+$tax) * 100,3);
			}
 
			if ($this->sSYSTEM->sCurrency["factor"]){
				$factor = $this->sSYSTEM->sCurrency["factor"];
 
			}else {
				$factor = 1;
			}
 
 
 
			$this->sSYSTEM->sDB_CONNECTION->Execute("
			INSERT INTO s_order_basket (sessionID, articlename, articleID, ordernumber, quantity,price,netprice, datum,modus,currencyFactor)
			VALUES ('".$this->sSYSTEM->sSESSION_ID."',
			'$surchargename',
			0,
			'$name',
			1,
			".$surcharge.",
			".$discountNet.",
			now(),
			4,
			".$this->sSYSTEM->sCurrency["factor"]."
			)
			");
 
 
	}
	}
}
?>
 

Artikel-PDF erstellen

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.: SW1215

Lieferzeit ca. 5 Tage

€ 1,00

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 1,00

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: