Index: /controller/wpsg_ShopController.class.php
===================================================================
--- /controller/wpsg_ShopController.class.php	(revision 6695)
+++ /controller/wpsg_ShopController.class.php	(revision 6697)
@@ -58,4 +58,7 @@
         public $arSystemCheck = null;
 
+        /** Object Cache fÃŒr die loadProduktArray */
+        private $productCache = Array();
+        
 		const CHECK_NOTICE = 1;
 		const CHECK_WARNING = 2;
@@ -1697,5 +1700,7 @@
 		public function loadProduktArray($produkt_id, $override = array(), $loadDisabled = false)
 		{
-
+		    
+		    if (array_key_exists($produkt_id, $this->productCache)) return $this->productCache[$produkt_id];
+		    
 			$produkt = $this->cache->loadProduct($produkt_id);
 
@@ -1820,4 +1825,6 @@
 			if ($produkt['preis_netto'] < 0) $produkt['preis_netto'] = 0;
 
+            $this->productCache[$produkt_id] = $produkt;
+            
 			return $produkt;
 
Index: /lib/wpsg_cache.class.php
===================================================================
--- /lib/wpsg_cache.class.php	(revision 6695)
+++ /lib/wpsg_cache.class.php	(revision 6697)
@@ -123,5 +123,5 @@
 			
 		} // public function clearKundenCache($kunde_id = false)
-		
+ 
 		/**
 		 * LÃ€dt die reinen Produktdaten aus der Datenbank und gibt sie zurÃŒck
Index: /mods/wpsg_mod_productvariants.class.php
===================================================================
--- /mods/wpsg_mod_productvariants.class.php	(revision 6695)
+++ /mods/wpsg_mod_productvariants.class.php	(revision 6697)
@@ -314,8 +314,10 @@
 
 					$arDefaultKey = array();
-
+                    
 					foreach ($product_data['arVariant'] as $variant_id => $variant_data)
 					{
 
+					    
+					    
 						$arDefaultKeyValues = $variant_id.':'.array_keys($variant_data['arVariation'])[0];
 						$arDefaultKey[] = $arDefaultKeyValues;
@@ -327,5 +329,5 @@
 					$product_data['product_key'] = $strDefaultKey;
 					$product_data['id'] = $strDefaultKey;
-
+ 
 				}
 
@@ -1888,5 +1890,5 @@
 						$strQueryWHERE = "";
 						
-						if ($onlyActive === false) $strQueryWHERE .= " AND PVI.`active` = '1' ";
+						if ($onlyActive === true) $strQueryWHERE .= " AND PVI.`active` = '1' ";
 						
 						$arData[$k]['arVariation'] = $this->db->fetchAssoc("
@@ -1900,5 +1902,6 @@
 								VI.`deleted` != '1' AND
 								VI.`variant_id` = '".wpsg_q($v['id'])."' AND
-								PVI.`product_id` = '".wpsg_q($product_id)."' 								
+								PVI.`product_id` = '".wpsg_q($product_id)."' 
+								".$strQueryWHERE."
 							ORDER BY
 								VI.`pos` ASC
