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.

Wie kann ich die Grundpreisberechnung bei Varianten nutzen?

1 Kommentare
ab Version:3.0.4 bis Version:3.0.5.1

Hinweis:

Ab Shopware 3.5.4 ist ein Plugin verfügbar, welches Grundpreisangaben bei Varianten ermöglicht: LINK

Mit folgender Anpassung/Erweiterung können Sie die Grundpreisberechnung auch bei Varianten nutzen.

Es wird hierzu ein beliebiges freies Attributsfeld verwendet. In diesem Beispiel Artikel Attribut 4

Datenbank-Änderungen

Führen Sie folgende SQL-Update-Befehle in der Datenbank aus:

 
UPDATE `s_core_engine_elements`
SET `domname` = 'attr[4]',
	`databasefield` = 'attr4',
	`availablebyvariants` = 1
WHERE `domdescription`='Inhalt';
 
UPDATE `s_core_engine_groups`
SET `availablebyvariants` = '1'
WHERE `group`='Grundpreisberechnung';
 

Hookpoints anlegen

Legen Sie neue Hookpoints über die Administration an. "Einstellungen / Grundeinstellungen / Erweiterte Systemeinstellungen / Hookpoints"

Hookpoint: sArticles.php_sGetArticleById_BeforeReturn

Modul-Bezeichnung: Grundpreisberechnung bei Varianten

Ausführungsposition: 0

Auszuführender Code:

 
if (!empty($getArticle["attr4"])&&!empty($getArticle["referenceunit"]))
{
	if (!empty($getArticle["sBlockPrices"][0])){
		$price = str_replace(",",".",$getArticle["sBlockPrices"][0]["price"]);
	}else {
		$price = str_replace(",",".",$getArticle["price"]);
	}
	$basePrice = $price / $getArticle["attr4"] * $getArticle["referenceunit"];
	$basePrice = $this->sFormatPrice($basePrice);
	$getArticle["referenceprice"] = $basePrice;
	$getArticle["purchaseunit"] = $getArticle["attr4"];
}
if(!empty($getArticle["sVariants"])&&!empty($getArticle["attr4"])&&!empty($getArticle["referenceunit"]))
foreach ($getArticle["sVariants"] as &$variant)
{
	if (!empty($variant["sBlockPrices"][0])){
		$price = str_replace(",",".",$variant["sBlockPrices"][0]["price"]);
	}else {
		$price = str_replace(",",".",$variant["price"]);
	}
	$basePrice = $price / $variant["attr4"] * $getArticle["referenceunit"];
	$basePrice = $this->sFormatPrice($basePrice);
	$variant["referenceprice"] = $basePrice;
	$variant["purchaseunit"] = $variant["attr4"];
	$variant["referenceunit"] = $getArticle["referenceunit"];
	$variant["sUnit"] = $getArticle["sUnit"];
}
 

Hookpoint: sArticles.php_sGetArticlesByCategory_BeforeEnd

Modul-Bezeichnung: Grundpreisberechnung bei Varianten 2

Ausführungsposition: 0

Auszuführender Code:

 
if(!empty($result['sArticles'])) {
   foreach ($result['sArticles'] as &$article) {
      $price = str_replace(',', '.', $article['price']);
      $basePrice = $price / $article['attr4'] * $article['referenceunit'];
      $basePrice = $this->sFormatPrice($basePrice);
      $article['referenceprice'] = $basePrice;
      $article['purchaseunit'] = $article['attr4'];
   }
}
 

Nach dieser Anpassung kann bei den Varianten nun ebenfalls der Inhalt hinterlegt werden!

Artikel-PDF erstellen

Artikel bewerten

Waren diese Informationen hilfreich? Ja Nein


Kommentare:

Anpassung? - 14. June 2011 - 13:43 Uhr

Von: Bibeno

Hallo, es waere super, wenn das angepasst werden koennte.
ich braeuchte das haendedringends fuer meinen Shop.
Und es ist leider auch eine Pflicht auch bei Varianten an zu geben.

Artikel kommentieren


Die mit einem * markierten Felder sind Pflichtfelder.

Weitere interessante Artikel:

Bezeichnung:
Rating:
Klicks:
Datum:

Bestell-Nr.: SW1290

Lieferzeit ca. 5 Tage

€ 0,01

Preise inkl. gesetzlicher
MwSt. zzgl. Versandkosten*

€ 0,01

Preise inkl. gesetzlicher
MwSt. + Versandkosten*

Kategorien: