Index: /controller/wpsg_SystemController.class.php
===================================================================
--- /controller/wpsg_SystemController.class.php	(revision 6269)
+++ /controller/wpsg_SystemController.class.php	(revision 6270)
@@ -21,5 +21,5 @@
 		/** @var boolean - Wird auf true gesetzt, wenn die Meldungen ausgegbene werden */
 		public $bMessageOut = false;
-		
+		 
 		var $htmlMail = false;
 		
@@ -640,28 +640,19 @@
 			if (sizeof($this->arTemplateStack) == 1 && $this->get_option('wpsg_autoraw') === '1' && !is_admin() && !$this->bShortcode) echo '[raw]';
 			 
-			if (file_exists($uv_file) && $this->get_option('wpsg_ignoreuserview') != '1')
-			{
-				include $uv_file;
-			}
-			else if (file_exists($child_theme_file) && $this->get_option('wpsg_ignoreuserview') != '1')
-			{				 
-				include $child_theme_file;
-			}
-			else if (file_exists($theme_file) && $this->get_option('wpsg_ignoreuserview') != '1')
-			{				 
-				include $theme_file;				
-			}
-			else if (file_exists($uv_old_file) && $this->get_option('wpsg_ignoreuserview') != '1')
-			{
-				include $uv_old_file;
-			}
-			else if (file_exists($file))
-			{					
-				include $file;
-			}
+			$render_file = false;
+			
+			if (file_exists($uv_file) && $this->get_option('wpsg_ignoreuserview') != '1') $render_file = $uv_file;				
+			else if (file_exists($child_theme_file) && $this->get_option('wpsg_ignoreuserview') != '1') $render_file = $child_theme_file;
+			else if (file_exists($theme_file) && $this->get_option('wpsg_ignoreuserview') != '1') $render_file = $theme_file;
+			else if (file_exists($uv_old_file) && $this->get_option('wpsg_ignoreuserview') != '1') $render_file = $uv_old_file;
+			else if (file_exists($file)) $render_file = $file;
 			else
 			{
 				die(wpsg_translate(__("Templatedatei existiert nicht (#1#) !", 'wpsg'), $file));
 			}
+			
+			//if ($this->debugTemplateFile) wpsg_debug_console($file);
+			
+			include $render_file;
 			
 			if (sizeof($this->arTemplateStack) == 1 && $this->get_option('wpsg_autoraw') === '1' && !is_admin() && !$this->bShortcode) echo '[/raw]';
Index: /lib/functions.inc.php
===================================================================
--- /lib/functions.inc.php	(revision 6269)
+++ /lib/functions.inc.php	(revision 6270)
@@ -333,4 +333,13 @@
 	}
 	
+	function wpsg_debug_console($value)
+	{
+		
+		if ($GLOBALS['wpsg_sc']->get_option('wpsg_debugModus') != "1") return;
+		
+		echo '<script type="text/javascript"> console.log('.json_encode($value).'); </script>';
+		
+	}
+
 	/**
 	 * Debug Funktion, die den ÃŒbergebenen Wert ausgibt wenn die Option im Backend aktiviert ist.
@@ -347,6 +356,5 @@
 			
 			wpsg_prepare_for_debug($value);
-			
-			
+			 
 			print_r($value);
 			echo '</pre>';
Index: /lib/wpsg_db.class.php
===================================================================
--- /lib/wpsg_db.class.php	(revision 6269)
+++ /lib/wpsg_db.class.php	(revision 6270)
@@ -15,8 +15,7 @@
 			global $wpdb;
 		
-			$strError = $wpdb->last_query;
-			if (!wpsg_isSizedString($strError)) $strError = __('Wordpress hat den generierten Query abgelehnt, vermutlich ist ein Template beschÃ€digt. (UngÃŒltiger Zeichensatz)', 'wpsg');
-			
-			die(wpsg_debug("Query: ".$strError."\nFehler: ".$wpdb->last_error."\nBacktrace:\n".print_r(debug_backtrace(), 1)));
+			$lastQuery = $wpdb->last_query;
+			
+			throw new \Exception("Datenbankfehler: ".$wpdb->last_error);
 		
 		} // function handleError()
Index: /model/wpsg_product.class.php
===================================================================
--- /model/wpsg_product.class.php	(revision 6269)
+++ /model/wpsg_product.class.php	(revision 6270)
@@ -670,4 +670,5 @@
 
 			if (wpsg_isSizedString($arFilter['order'], 'name')) { $strQueryORDER = " P.`name` "; }
+			else if (wpsg_isSizedString($arFilter['order'], 'price')) { $strQueryORDER = " P.`preis` "; }
 			else if (wpsg_isSizedString($arFilter['order'], 'anr')) { $strQueryORDER = " P.`anr` "; }
 			else if (wpsg_isSizedString($arFilter['order'], 'pgruppe'))
Index: /mods/wpsg_mod_productview.class.php
===================================================================
--- /mods/wpsg_mod_productview.class.php	(revision 6269)
+++ /mods/wpsg_mod_productview.class.php	(revision 6270)
@@ -373,11 +373,11 @@
 				$arOrderCode = explode('_', $atts['order']);
 				
-				if ($arOrderCode[0] === 'price') $arFilter['order_col'] = " P.`preis` ";
-				
-				if ($arOrderCode[1] === 'asc' && wpsg_isSizedString($arFilter['order_col'])) $arFilter['order_direction'] = ' ASC ';
-				else $arFilter['order_direction'] = ' DESC ';
-				
-			}
-			
+				if ($arOrderCode[0] === 'price') $arFilter['order'] = 'price';				
+				
+				if ($arOrderCode[1] === 'asc' && wpsg_isSizedString($arFilter['order'])) $arFilter['ascdesc'] = 'ASC';
+				else $arFilter['ascdesc'] = 'DESC';
+				
+			}
+		 
 			$arProductIDs = wpsg_product::find($arFilter, false);
 			$nCount = sizeof($arProductIDs);
Index: /views/mods/mod_productview/productview.js
===================================================================
--- /views/mods/mod_productview/productview.js	(revision 6269)
+++ /views/mods/mod_productview/productview.js	(revision 6270)
@@ -42,5 +42,5 @@
 		
 		jQuery('#wpsg_productview_' + index).append('<div class="wpsg_mod_productview_loading"></div>');
-		
+		 
 		jQuery.ajax( {
 			'url': wpsg_ajax.ajaxurl,
