[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • TvsShop - Seite 9
Seite 9 von 10

Re: TvsShop

Verfasst: 11. Jun 2015, 13:31
von jeje
Hallo Nuxx,

bin auch schon am basteln :)

Gruß
Jochen

Re: TvsShop

Verfasst: 11. Jun 2015, 15:41
von jeje
Hallo Michael,

ich habe mal die Modulausgabe von Shopausgabe ein bischen angepasst, so könnte es gehen das bei der Bestellung AGB und Wiederuf berücksicht wird und darunter noch mal der Warenkorb um die Übersicht vor der Bestellung zu gewährleisten.

Code: Alles auswählen

<?php

	global $REX;

	require_once ($REX['INCLUDE_PATH'] .'/addons/tvsshop/classes/shopUrlRewrite.inc.php');

	if (!isset ($_SESSION)) { session_start(); }

	$table_pre	= $REX['TABLE_PREFIX'] . $REX['ADDON']['rxid']['tvsshop'];
	$thispage	= "tvsshop";
	$art_table	= $table_pre . "_articles";
	$cat_table	= $table_pre . "_categories";
	$orders_table= $table_pre . "_orders";
	
	$article_id	= "REX_ARTICLE_ID";		
	$tvsshop_mode	= rex_get('mode', 'string');
	if ($tvsshop_mode == "")
		$tvsshop_mode	= rex_post('mode', 'string');
		
	// Supported Modes:
	//	addtocart
	//	showbasket
	//	delorderpos
	//	clearbasket
	//	checkout
	//	sendorder
	//	orderfinished
	// ----------------
	
	$tvsshop_art_id		= rex_get('art_id', 'int', -1);
	if ($tvsshop_art_id == -1)
		$tvsshop_art_id		= rex_post('art_id', 'int', -1);

	if (!function_exists('clearBasket')) {
		function clearBasket() {
			global $_SESSION;
			$_SESSION['tvsshop']['cart']['art_id'] = "";
			$_SESSION['tvsshop']['cart']['art_count'] = "";
			$_SESSION['tvsshop']['cart']['art_sumtotal'] = 0;
			$_SESSION['tvsshop']['cart']['art_features'] = "";
			$_SESSION['tvsshop']['cart']['ordertext'] = "";
			$_SESSION['tvsshop']['cart']['mailordertext'] = "";
		}
	}

	if (!function_exists('backToShopLink')) {
		function backToShopLink() {
			echo "<p><a href=\"" . rex_getUrl('','', array('mode'=>''))  . "\">Zur&uuml;ck zum Onlineshop</a></p>";
		}
	}

	if (!function_exists('showBasketLink')) {
		function showBasketLink() {
	//		global $_SESSION;
	//		$articles_count	= 0;
	//		$articles_sum_count	= 0;
	//		
	//		if (!isset ($_SESSION)) {
	//			session_start();
	//		} else {
	//			$articles_count	= explode(",", $_SESSION['tvsshop']['cart']['art_count']);
	//			$articles_sum_count	= 0;
	//			if ($articles_count > 0) {
	//				foreach ($articles_count as $i => $value) {
	//					$articles_sum_count = $articles_sum_count + doubleval($value);
	//				}
	//			}
	//		}
	//		echo "<p><a href=\"" . rex_getUrl('','', array('mode'=>'showbasket'), '&') . "\" title=\"Warenkorb anzeigen\">Warenkorb anzeigen</a> (" . $articles_sum_count . " Artikel)</p>";
		}
	}
	
	
	// Rewriting benutzen...
	if (OOAddon :: isAvailable('rexseo') || OOAddon :: isAvailable('seo42'))
		$article_url = getTvsShopUrl($tvsshop_art_id, $REX['CUR_CLANG']);
	else
		$article_url = rex_getUrl('','', array('art_id'=>$tvsshop_art_id));
	//
		
	$tvsshop_cat		= rex_get('tvsshop_cat', 'int', -1);

	$tvsshop_sort		= rex_get('art_sort', 'int', -1);
	if ($tvsshop_sort == -1 && "REX_VALUE[3]" != "")
		$tvsshop_sort = "REX_VALUE[3]";
	
	if ($tvsshop_cat == -1 && "REX_VALUE[2]" != "")
		$tvsshop_cat = "REX_VALUE[2]";
	$tvsshop_art_count	= rex_get('art_count', 'int', -1);
	$tvsshop_art_feature= rex_get('art_feature', 'string', '');

	$tvsshop_tag	= rex_get('tag', 'string', '');
	$tvsshop_start	= rex_get('tvsshop_start', 'int', -1);
	
	if ($tvsshop_start != -1) {
		$tvsshop_limit = "REX_VALUE[1]";
	} else {
		if ("REX_VALUE[1]" == "") {
			$tvsshop_start = 0;
			$tvsshop_limit = 5;
		} else {
			$tvsshop_start = 0;
			$tvsshop_limit = "REX_VALUE[1]";
		}
	}

	if ("REX_VALUE[4]" == "" || "REX_VALUE[4]" == "A")
		$tvsshop_asc = " ASC";
	else
		$tvsshop_asc = " DESC";	

	// INI-Variablen
	$myIniFile	= $REX['INCLUDE_PATH'] . "/addons/" . $thispage . "/" . $thispage . ".ini";
	$settings	= parse_ini_file($myIniFile);
	$shopname	= $settings['Shopname'];
	$imagesize	= $settings['ImageSize'];
	$usefacebook= $settings['UseFacebook'];
	$currency	= $settings['Currency'];
	$shopmail	= $settings['Shopmail'];
	$shipping	= str_replace(",",".",$settings['Shipping']);
	$mwst		= $settings['MwSt'];
	if ($mwst > 1)
		$mwstfaktor	= ($mwst / 100) + 1;
		
	// Sortierung übergeben...
	$sql_sort = "";
	if ($tvsshop_sort > -1)
		if ($tvsshop_sort == 0)
			$sql_sort = "title";
		elseif ($tvsshop_sort == 1)
			$sql_sort = "price";
		elseif ($tvsshop_sort == 2)
			$sql_sort = "artnr";
		else
			$sql_sort = "title";
			
	$sql_limit	= " LIMIT " . $tvsshop_start . ", " . $tvsshop_limit;
	
	if($tvsshop_cat > -1) {
		$tvssql = " AND category_id = " . $tvsshop_cat;

		$sql = new rex_sql();
		$sql->setQuery("SELECT * FROM " . $cat_table . " WHERE id = " . $tvsshop_cat);
		if ($sql->getRows() > 0 ) {
			echo "<h1>Artikel in der Kategorie '" . $sql->getValue('title') . "':</h1>";
		}
	}
	else {
		$tvssql = "";	}
	
	if ($tvsshop_tag != "")
		$tvssql .= " AND keywords like '%" . $tvsshop_tag . "%'";
		
	// post_id hat Priorität...
	if ($tvsshop_art_id != -1)
		$tvssql .= " AND id = " . $tvsshop_art_id;

	//
	// Ab hier die Modus Operandi ausarbeiten ;-)
	//
	if ($tvsshop_mode == "addtocart") {
		// Ãœbergebenen Artikel dem Warenkorb hinzuf&uuml;gen...
		// Ãœbergebenen Artikel dem Warenkorb hinzuf&uuml;gen...
		if ($_SESSION[$thispage]['cart']['art_id'] == '') {
			$articles = array();
			$articles_count = array();
		}
		else {
			$articles = explode(",",$_SESSION[$thispage]['cart']['art_id']);
			$articles_count = explode(",", $_SESSION[$thispage]['cart']['art_count']);
		}
		
		$key = array_search($tvsshop_art_id, $articles);

		if ($key > -1) {
			$articles_count[$key] = doubleval($articles_count[$key]) + $tvsshop_art_count;
		} else {
			array_push($articles, $tvsshop_art_id);
			array_push($articles_count, $tvsshop_art_count);
		}
		$_SESSION[$thispage]['cart']['art_id'] = implode(",",$articles);
		$_SESSION[$thispage]['cart']['art_count'] = implode(",",$articles_count);
		$tvsshop_mode = "showbasket";
	}

	if ($tvsshop_mode == "clearbasket") {
		// Warenkorb l&ouml;schen...
		clearBasket();
		backToShopLink();
	}
	
	if ($tvsshop_mode == "delorderpos") {
		// Artikelposition löschen...
		$articles = explode(",",$_SESSION[$thispage]['cart']['art_id']);
		$articles_count = explode(",", $_SESSION[$thispage]['cart']['art_count']);
		
		$key = array_search($tvsshop_art_id, $articles);

		if ($key > -1) {
			array_splice ($articles, $key, 1);
			array_splice ($articles_count, $key, 1);
		}
		$_SESSION[$thispage]['cart']['art_id'] = implode(",",$articles);
		$_SESSION[$thispage]['cart']['art_count'] = implode(",",$articles_count);
		$tvsshop_mode = "showbasket";
	}
	
	if ($tvsshop_mode == "sendorder") {
		// Bestellformular senden...
		$kdnr		= urldecode(rex_get('tvsshop_kdnr', 'string'));
		$name		= urldecode(rex_get('tvsshop_name', 'string'));
		$strasse	= urldecode(rex_get('tvsshop_strasse', 'string'));
		$plzort		= urldecode(rex_get('tvsshop_plzort', 'string'));
		$email		= urldecode(rex_get('tvsshop_email', 'string'));
		$telefon	= urldecode(rex_get('tvsshop_telefon', 'string'));
		
		$errormsg = "";
		if ($settings['Name_required'] == "1" && trim($name) == "")
			$errormsg .= "Bitte NAMEN eingeben<br />";
		if ($settings['Street_required'] == "1" && trim($strasse) == "")
			$errormsg .= "Bitte STRASSE eingeben<br />";
		if ($settings['Town_required'] == "1" && trim($plzort) == "")
			$errormsg .= "Bitte PLZ und ORT eingeben<br />";
		if ($settings['Phone_required'] == "1" && trim($telefon) == "")
			$errormsg .= "Bitte TELEFON eingeben<br />";
		if ($settings['Email_required'] == "1" && trim($email) == "")
			$errormsg .= "Bitte EMAIL eingeben<br />";
			
		if ($errormsg != "") {
			echo "<h2>Folgende Informationen fehlen:</h2><p>" . $errormsg . "</p>";
			$tvsshop_mode = "checkout";
		} else {
			$order = file_get_contents( $REX['INCLUDE_PATH'] . "/addons/tvsshop/pages/order.txt");
//			$order = $_SESSION['tvsshop']['cart']['mailordertext'];
			$to_search = array("{datum}","{uhrzeit}","{shopname}","{kdnr}","{name}","{strasse}","{plzort}","{email}","{telefon}","{bestelltext}");
			$to_replace = array(date("d.m.Y"),date("H:i:s"),$shopname,$kdnr,$name,$strasse,$plzort,$email,$telefon,$_SESSION['tvsshop']['cart']['mailordertext']);
			$order = str_replace($to_search, $to_replace, $order);
			$header  = "MIME-Version: 1.0\r\n";
			$header .= "Content-Type: text/plain, charset=utf-8\r\n";
			$header .= "Content-Transfer-Encoding: 8bit\r\n";
			$header .= "From: $shopmail\r\n";
			$header .= "X-Mailer: PHP " . phpversion() . "\r\n";
			// Bestellung speichern...
			$sql = new rex_sql();
			$sql->setQuery("INSERT INTO " . $orders_table . " (customer, ordertext, status, create_date) VALUES ('" . $customer. "','" . $order . "',0," . time() . ")");
			//
			if ($shopmail != "") {
				mail($shopmail, $shopname . ": Neue Bestellung vom " . date("d.m.Y H:i:s"), $order, $header, "-f" . $shopmail);
			} else {
				echo "<p>Keine Shopbetreiber-EMail-Adresse angegeben!</p>";
				$tvsshop_mode = "checkout";
			}
			if ($email != "") {
				mail($email, $shopname . ": Ihre Bestellung vom " . date("d.m.Y H:i:s"), $order, $header, "-f" . $shopmail);
			}
			$tvsshop_mode = "orderfinished";
		}
	}
	
	if ($tvsshop_mode == "orderfinished") {
		// Bestellvorgang abgeschlossen...
		echo "<p>Vielen Dank für Ihre Bestellung!</p>";
		echo "<p>Sie sollten in wenigen Minuten eine Bestätigung in Ihrem EMail-Postfach erhalten!</p>";
		clearBasket();
		$tvsshop_mode == "";
		backToShopLink();
	} elseif ($tvsshop_mode == "checkout") {
		// Bestellformular zeigen...
		echo "<div class=\"tvsshop_checkout\">";
		echo "<h1>Kasse</h1>";
		echo "<form id=\"tvsshop_checkout\" method=\"get\" action=\"" . rex_getUrl('') . "\">";
	//	echo "<p>Artikelsumme: " . sprintf("%01.2f",$_SESSION[$thispage]['cart']['art_sumtotal']) . $currency . "</p>";
		//showBasketLink();
		echo "<input name=\"mode\" type=\"hidden\" value=\"sendorder\" />";
		echo "<input name=\"tvsshop_art_id\" type=\"hidden\" value=\"" . $_SESSION[$thispage]['cart']['art_id'] . "\" />";
		echo "<input name=\"tvsshop_art_count\" type=\"hidden\" value=\"" . $_SESSION[$thispage]['cart']['art_count'] . "\" />";
		echo "<label for=\"tvsshop_kdnr\">KdNr. (sofern vorhanden):</label>";
		echo "<input name=\"tvsshop_kdnr\" type=\"text\" value=\"" . $kdnr . "\" />";
		echo "<label for=\"tvsshop_name\">Vorname/Name:" . (($settings['Name_required'] == "1") ? " (*)" : "") . "</label>";
		echo "<input name=\"tvsshop_name\" type=\"text\" value=\"" . $name . "\" />";
		echo "<label for=\"tvsshop_strasse\">Strasse:" . (($settings['Street_required'] == "1") ? " (*)" : "") . "</label>";
		echo "<input name=\"tvsshop_strasse\" type=\"text\" value=\"" . $strasse . "\" />";
		echo "<label for=\"tvsshop_plzort\">PLZ/Ort:" . (($settings['Town_required'] == "1") ? " (*)" : "") . "</label>";
		echo "<input name=\"tvsshop_plzort\" type=\"text\" value=\"" . $plzort . "\" />";
		echo "<label for=\"tvsshop_telefon\">Telefon:" . (($settings['Phone_required'] == "1") ? " (*)" : "") . "</label>";
		echo "<input name=\"tvsshop_telefon\" type=\"text\" value=\"" . $telefon . "\" />";
		echo "<label for=\"tvsshop_email\">E-Mail:" . (($settings['Email_required'] == "1") ? " (*)" : "") . "</label>";
		echo "<input name=\"tvsshop_email\" type=\"text\" value=\"" . $email . "\" />";
		echo "<p style=\"clear:both;\">Ich habe die [<a href=\"" . rex_getUrl(3) . "\" title=\"AGB anzeigen\">AGB</a>] des Anbieters gelesen und erkläre mit dem Absenden der Bestellung mein Einverständnis.<br/>Die [<a href=\"" . rex_getUrl(4) . "\" title=\"Widerrufsbelehrung anzeigen\">Widerrufsbelehrung</a>]  habe ich zur Kenntnis genommen.</p>";
		echo "<p style=\"clear:both;\">(*) Angaben werden ben&ouml;tigt!</p>";
		echo "<input name=\"abschicken\" class=\"submit\" type=\"submit\" value=\"Zahlungspflichtig bestellen\" />";
		echo "</form>";
		
		echo "<p>---------------------------- Ihre Bestellung ----------------------------------</p>";
		// Warenkorb einfügen ==========================================================================
				echo "<div class=\"tvsshop_basket\">";
		echo "<h1>Warenkorb</h1>";
		if ($_SESSION[$thispage]['cart']['art_id'] != '') {
		
			$articles			= explode(",", $_SESSION[$thispage]['cart']['art_id']);
			$articles_count		= explode(",", $_SESSION[$thispage]['cart']['art_count']);
			$articles_sum_count	= 0;
			$articles_sum		= 0;
			$articles_ordertext	= "";
			$articles_mailordertext	= "";
			
			$articles_ordertext .= "<table class=\"tvsshop_art_table\" summary=\"Warenkorb\">";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<th class=\"art_col_1\">Titel</th>";
			$articles_ordertext .= "	<th class=\"art_col_2\">Anzahl</th>";
			$articles_ordertext .= "	<th class=\"art_col_3\">Einzelpreis</th>";
			$articles_ordertext .= "	<th class=\"art_col_4\">Summe</th>";
			$articles_ordertext .= "	<th class=\"art_col_5\">&nbsp;</th>";
			$articles_ordertext .= "</tr>";
			$articles_mailordertext	.= "Titel" . chr(9) . "Anzahl" .  chr(9) . "Summe\n";
			
			$sql = new rex_sql();
			foreach ($articles as $i => $value) {

				$sql->setQuery("SELECT * FROM " . $art_table . " WHERE id = " . $value . " AND status = 1");

				if ($sql->getRows() > 0 )
				{
					$articles_ordertext .= "<tr>";
					$articles_ordertext .= "	<td class=\"art_col_1\"><a href=\"" . $article_url . "\" title=\"" . $sql->getValue('title') . "\">" . $sql->getValue('title') . "</a></td>";
					$articles_ordertext .= "	<td class=\"art_col_2\">" . $articles_count[$i] . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_3\">" . sprintf("%01.2f",$sql->getValue('price')) . " " . $currency . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$sql->getValue('price') * doubleval($articles_count[$i])) . " " . $currency . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_5\"><a href=\"" . rex_getUrl('','', array('mode'=>'delorderpos','art_id'=>$sql->getValue('id')))  . "\" title=\"Artikel entfernen\">entfernen</a></td>";
					$articles_sum = $articles_sum + $sql->getValue('price') * doubleval($articles_count[$i]);
					$articles_sum_count = $articles_sum_count + doubleval($articles_count[$i]);
					$articles_ordertext .= "</tr>";
					$articles_mailordertext	.= $sql->getValue('title') . chr(9) . $articles_count[$i] .  chr(9) . sprintf("%01.2f",$sql->getValue('price') * doubleval($articles_count[$i])) . " " . $currency . "\n";
					$sql->next();
				}
			}
			$_SESSION[$thispage]['cart']['art_sumtotal'] = $articles_sum;
			if ($mwst <> 0) {
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td>&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">Summe Netto:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$articles_sum / $mwstfaktor) . " " . $currency . "</td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">zzgl. MwSt." . $mwst . "%:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$articles_sum - ($articles_sum / $mwstfaktor)) . " " . $currency . "</td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">Summe Brutto:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$articles_sum) . " " . $currency . "</b></td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
			}
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td>&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td class=\"art_col_1\">Versandkosten:</td>";
			$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$shipping) . " " . $currency . "</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td class=\"art_col_1\"><b>Gesamtsumme:</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$articles_sum + $shipping) . " " . $currency . "</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "</table>";
			$articles_mailordertext	.= "Versandkosten" . chr(9) . chr(9) . sprintf("%01.2f",$shipping) . " " . $currency . "\n";
			$articles_mailordertext	.= "Gesamt:" . chr(9) . $articles_sum_count .  chr(9) . sprintf("%01.2f",$articles_sum + $shipping) . " " . $currency . "\n";
			
			echo $articles_ordertext;
			$_SESSION['tvsshop']['cart']['mailordertext'] = $articles_mailordertext;

			echo "<p>";
			echo "	<a href=\"" . rex_getUrl('','', array('mode'=>'clearbasket'))  . "\" title=\"Warenkorb l&ouml;schen\">Warenkorb l&ouml;schen</a>";
			echo "	&nbsp;&nbsp;&nbsp;";
	//		echo "	<a href=\"" . rex_getUrl('','', array('mode'=>'checkout'))  . "\" title=\"Zur Kasse gehen\">Zur Kasse gehen</a>";
			echo "</p>";
			
			backToShopLink();
		} else {
		//	echo "<p>Ihr Warenkorb ist leer!</p>";
			backToShopLink();
		}
		echo "</div>";
		// Warenkorb einfügen Ende ======================================================================
		
		echo "</div>";
		// Ende		
	}
	if ($tvsshop_mode == "showbasket") {
		// Warenkorb anzeigen
		echo "<div class=\"tvsshop_basket\">";
		echo "<h1>Warenkorb</h1>";
		if ($_SESSION[$thispage]['cart']['art_id'] != '') {
		
			$articles			= explode(",", $_SESSION[$thispage]['cart']['art_id']);
			$articles_count		= explode(",", $_SESSION[$thispage]['cart']['art_count']);
			$articles_sum_count	= 0;
			$articles_sum		= 0;
			$articles_ordertext	= "";
			$articles_mailordertext	= "";
			
			$articles_ordertext .= "<table class=\"tvsshop_art_table\" summary=\"Warenkorb\">";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<th class=\"art_col_1\">Titel</th>";
			$articles_ordertext .= "	<th class=\"art_col_2\">Anzahl</th>";
			$articles_ordertext .= "	<th class=\"art_col_3\">Einzelpreis</th>";
			$articles_ordertext .= "	<th class=\"art_col_4\">Summe</th>";
			$articles_ordertext .= "	<th class=\"art_col_5\">&nbsp;</th>";
			$articles_ordertext .= "</tr>";
			$articles_mailordertext	.= "Titel" . chr(9) . "Anzahl" .  chr(9) . "Summe\n";
			
			$sql = new rex_sql();
			foreach ($articles as $i => $value) {

				$sql->setQuery("SELECT * FROM " . $art_table . " WHERE id = " . $value . " AND status = 1");

				if ($sql->getRows() > 0 )
				{
					$articles_ordertext .= "<tr>";
					$articles_ordertext .= "	<td class=\"art_col_1\"><a href=\"" . $article_url . "\" title=\"" . $sql->getValue('title') . "\">" . $sql->getValue('title') . "</a></td>";
					$articles_ordertext .= "	<td class=\"art_col_2\">" . $articles_count[$i] . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_3\">" . sprintf("%01.2f",$sql->getValue('price')) . " " . $currency . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$sql->getValue('price') * doubleval($articles_count[$i])) . " " . $currency . "</td>";
					$articles_ordertext .= "	<td class=\"art_col_5\"><a href=\"" . rex_getUrl('','', array('mode'=>'delorderpos','art_id'=>$sql->getValue('id')))  . "\" title=\"Artikel entfernen\">entfernen</a></td>";
					$articles_sum = $articles_sum + $sql->getValue('price') * doubleval($articles_count[$i]);
					$articles_sum_count = $articles_sum_count + doubleval($articles_count[$i]);
					$articles_ordertext .= "</tr>";
					$articles_mailordertext	.= $sql->getValue('title') . chr(9) . $articles_count[$i] .  chr(9) . sprintf("%01.2f",$sql->getValue('price') * doubleval($articles_count[$i])) . " " . $currency . "\n";
					$sql->next();
				}
			}
			$_SESSION[$thispage]['cart']['art_sumtotal'] = $articles_sum;
			if ($mwst <> 0) {
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td>&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">Summe Netto:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$articles_sum / $mwstfaktor) . " " . $currency . "</td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">zzgl. MwSt." . $mwst . "%:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\">" . sprintf("%01.2f",$articles_sum - ($articles_sum / $mwstfaktor)) . " " . $currency . "</td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
				$articles_ordertext .= "<tr>";
				$articles_ordertext .= "	<td class=\"art_col_1\">Summe Brutto:</td>";
				$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
				$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$articles_sum) . " " . $currency . "</b></td>";
				$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
				$articles_ordertext .= "</tr>";
			}
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td>&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td class=\"art_col_1\">Versandkosten:</td>";
			$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$shipping) . " " . $currency . "</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "<tr>";
			$articles_ordertext .= "	<td class=\"art_col_1\"><b>Gesamtsumme:</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_2\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_3\">&nbsp;</td>";
			$articles_ordertext .= "	<td class=\"art_col_4\"><b>" . sprintf("%01.2f",$articles_sum + $shipping) . " " . $currency . "</b></td>";
			$articles_ordertext .= "	<td class=\"art_col_5\">&nbsp;</td>";
			$articles_ordertext .= "</tr>";
			$articles_ordertext .= "</table>";
			$articles_mailordertext	.= "Versandkosten" . chr(9) . chr(9) . sprintf("%01.2f",$shipping) . " " . $currency . "\n";
			$articles_mailordertext	.= "Gesamt:" . chr(9) . $articles_sum_count .  chr(9) . sprintf("%01.2f",$articles_sum + $shipping) . " " . $currency . "\n";
			
			echo $articles_ordertext;
			$_SESSION['tvsshop']['cart']['mailordertext'] = $articles_mailordertext;

			echo "<p>";
			echo "	<a href=\"" . rex_getUrl('','', array('mode'=>'clearbasket'))  . "\" title=\"Warenkorb l&ouml;schen\">Warenkorb l&ouml;schen</a>";
			echo "	&nbsp;&nbsp;&nbsp;";
			echo "	<a href=\"" . rex_getUrl('','', array('mode'=>'checkout'))  . "\" title=\"Zur Kasse gehen\">Zur Kasse gehen</a>";
			echo "</p>";
			
			backToShopLink();
		} else {
			echo "<p>Ihr Warenkorb ist leer!</p>";
			backToShopLink();
		}
		echo "</div>";
	} elseif ($tvsshop_mode == "" && $tvsshop_art_id == -1) {
		// Normale Artikelübersicht...
		//
		// ..Link für Warenkorb anzeigen
		if ($_SESSION[$thispage]['cart']['art_id'] != "")
			$articles = explode(",", $_SESSION[$thispage]['cart']['art_id']);
		else
			$articles = array();
		echo "<div class=\"tvsshop_showbasket\">";
		//showBasketLink();
		if (count($articles) > 0) {
			$articles_count	= 0;
			$articles_count	= explode(",", $_SESSION['tvsshop']['cart']['art_count']);
			$articles_sum_count	= 0;
			if ($articles_count > 0) {
				foreach ($articles_count as $i => $value) {
					$articles_sum_count = $articles_sum_count + doubleval($value);
				}
			}
			echo "[<a href=\"" . rex_getUrl('','', array('mode'=>'showbasket')) . "\" title=\"Warenkorb anzeigen\">Warenkorb (" . $articles_sum_count . " Artikel)</a>]&nbsp;";
			echo "[<a href=\"" . rex_getUrl('','', array('mode'=>'checkout'))  . "\" title=\"Zur Kasse gehen\">Zur Kasse gehen</a>]";
		}
		echo "</div>";

		$sql = new rex_sql();
		$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY " . $sql_sort . $tvsshop_asc);
		$total_rows = $sql->getRows();
		
		$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY " . $sql_sort . $tvsshop_asc . " " . $sql_limit);

		if ($sql->getRows() > 0 ) {
			for ($i = 1; $i <= $sql->getRows(); $i++) {
				if (OOAddon :: isAvailable('rexseo') || OOAddon :: isAvailable('seo42'))
					$article_url = getTvsShopUrl($sql->getValue('id'), $REX['CUR_CLANG']);
				else
					$article_url = rex_getUrl('','', array('art_id'=>$sql->getValue('id')));

				$art_href = "<a href=\"" . $article_url . "\" title=\"" . $sql->getValue('title') . "\">";

				echo "<div class=\"tvsshop_article\">";
				if ($sql->getValue('filelist') != "") {
					$art_images = explode(",",$sql->getValue('filelist'));
					if ($imagesize != "")
						if (OOAddon::isAvailable("image_resize"))
							echo $art_href . "<img src=\"index.php?rex_resize=" . $imagesize . "w__" . $art_images[0] . "\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
						else
							echo $art_href . "<img src=\"files/" . $art_images[0] . "\" style=\"width:" . $imagesize  . "px;\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
					else
						echo $art_href . "<img src=\"files/$art_images[0]\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
				}
				if ($sql->getValue('title') != "")
					echo "<p class=\"art_title\">" . $art_href . $sql->getValue('title') . "</a></p>";
				if ($sql->getValue('description') != "") {
					echo "<p class=\"art_description\">";
					$tvsoutput = $sql->getValue('description');
					$article = new rex_article();
					echo $article->replaceLinks($tvsoutput);
					echo "</p>";
				}
				if ($sql->getValue('price') != "") {
					echo "<p class=\"art_price\">Preis: " . sprintf("%01.2f",$sql->getValue('price')) . " " . $currency . "</p>";
				}
	
				echo "	<div class=\"art_addtocart\">";
				echo "		<p>";
//				echo "		<form name=\"art_addtocart_\" method=\"post\" action=\"" . rex_getUrl('','', array('mode'=>'addtocart')) . "\">";
				echo "		<form name=\"art_addtocart_" . $sql->getValue('id') . "\" method=\"get\" action=\"" . rex_getUrl('') . "\">";
				echo "			<input type=\"hidden\" name=\"mode\" id=\"mode\" value=\"addtocart\" />";
				echo "			<input type=\"hidden\" name=\"art_id\" id=\"art_id\" value=\"" . $sql->getValue('id') . "\" />";
				echo "			<input class=\"art_input_text\" type=\"text\" name=\"art_count\" id=\"count" . $sql->getValue('id') . "\" value=\"1\" />&nbsp;";
				echo "			<input class=\"art_input_submit\" type=\"submit\" name=\"art_input_submit\" id=\"art_input_submit_" . $sql->getValue('id') . "\" value=\"In den Warenkorb\" />";
				echo"		</form>";
				echo "		</p>";
				echo "	</div>";
				
				if ($usefacebook == "1") {
					$url = urlencode("http://".$_SERVER["SERVER_NAME"] . $article_url);
?>
					<div style="text-align:left; padding-top: 10px;">
						<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo $url; ?>&layout=button_count&action=recommend" scrolling="no" frameborder="0" style="border:none; width:500px; height: 50px;"></iframe>
					</div>
<?php
				}

				if ($sql->getValue('keywords') != "") {
					echo "	<div class=\"art_tags\">";
					echo "		<h5>Schlagworte:</h5>";
					$tags = explode(",", $sql->getValue('keywords'));	
					$tags_out = "";
					foreach ($tags as $value) {
						$tags_out .= "<a href='" . rex_getUrl('','', array('tag'=>trim($value))) . "'>$value</a>, ";
					}
					$tags_out = substr($tags_out, 0, - 2);
					echo $tags_out;
					echo "	</div>";
				}
				echo "</div>";
				$sql->next();
			}
			
			if ($tvsshop_start > 0) {
				echo "<div class=\"tvsshop_navigation\">";
				echo "	<a href=\"" . rex_getUrl($article_id,'', array('tvsshop_start'=>trim($tvsshop_start - $tvsshop_limit), 'tvsshop_cat'=>trim($tvsshop_cat))) . "\">&laquo; Vorige Beiträge</a>";
				echo "</div>";
			}
			if (($tvsshop_start + $tvsshop_limit) < $total_rows) {
				echo "<div class=\"tvsshop_navigation\">";
				echo "	<a href=\"" . rex_getUrl($article_id,'', array('tvsshop_start'=>trim($tvsshop_start + $tvsshop_limit), 'tvsshop_cat'=>trim($tvsshop_cat))) . "\">Nächste Beiträge &raquo;</a>";
				echo "</div>";
			}
		}
	} elseif ($tvsshop_mode == "" && $tvsshop_art_id <> -1) {
		// Einzel-Artikelübersicht...
		//
		// ..Link für Warenkorb anzeigen
		if ($_SESSION[$thispage]['cart']['art_id'] != "")
			$articles = explode(",", $_SESSION[$thispage]['cart']['art_id']);
		else
			$articles = array();
		echo "<div class=\"tvsshop_showbasket\">";
		//showBasketLink();
		if (count($articles) > 0) {
			$articles_count	= 0;
			$articles_count	= explode(",", $_SESSION['tvsshop']['cart']['art_count']);
			$articles_sum_count	= 0;
			if ($articles_count > 0) {
				foreach ($articles_count as $i => $value) {
					$articles_sum_count = $articles_sum_count + doubleval($value);
				}
			}
			echo "[<a href=\"" . rex_getUrl('','', array('mode'=>'showbasket')) . "\" title=\"Warenkorb anzeigen\">Warenkorb (" . $articles_sum_count . " Artikel)</a>]&nbsp;";
			echo "[<a href=\"" . rex_getUrl('','', array('mode'=>'checkout'))  . "\" title=\"Zur Kasse gehen\">Zur Kasse gehen</a>]";
		}
		echo "</div>";

		$sql = new rex_sql();
		$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY " . $sql_sort . $tvsshop_asc);
		$total_rows = $sql->getRows();
		
		$sql->setQuery("SELECT * FROM " . $art_table . " WHERE status = 1 " . $tvssql . " ORDER BY " . $sql_sort . $tvsshop_asc . " " . $sql_limit);

		if ($sql->getRows() > 0 ) {
			if (OOAddon :: isAvailable('rexseo') || OOAddon :: isAvailable('seo42'))
				$article_url = getTvsShopUrl($sql->getValue('id'), $REX['CUR_CLANG']);
			else
				$article_url = rex_getUrl('','', array('art_id'=>$sql->getValue('id')));
			$art_href = "<a href=\"" . $article_url . "\" title=\"" . $sql->getValue('title') . "\">";

			echo "<div class=\"tvsshop_article\">";
			if ($sql->getValue('filelist') != "") {
				$art_images = explode(",",$sql->getValue('filelist'));
				if ($imagesize != "")
					if (OOAddon::isAvailable("image_resize"))
						echo $art_href . "<img src=\"index.php?rex_resize=" . $imagesize . "w__" . $art_images[0] . "\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
					else
						echo $art_href . "<img src=\"files/" . $art_images[0] . "\" style=\"width:" . $imagesize  . "px;\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
				else
					echo $art_href . "<img src=\"files/$art_images[0]\" alt=\"" . $sql->getValue('title') . "\" title=\"" . $sql->getValue('title') . "\" /></a>";
			}
			if ($sql->getValue('title') != "")
				echo "<p class=\"art_title\">" . $art_href . $sql->getValue('title') . "</a></p>";
			if ($sql->getValue('description') != "") {
				echo "<p class=\"art_description\">";
				$tvsoutput = $sql->getValue('description');
				$article = new rex_article();
				echo $article->replaceLinks($tvsoutput);
				echo "</p>";
			}
			if ($sql->getValue('price') != "") {
				echo "<p class=\"art_price\">Preis: " . sprintf("%01.2f",$sql->getValue('price')) . " " . $currency . "</p>";
			}

			echo "	<div class=\"art_addtocart\">";
			echo "		<p>";
//			echo "		<form name=\"art_addtocart_form\" method=\"post\" action=\"" . rex_getUrl('','', array('mode'=>'addtocart')) . "\">";
			echo "		<form name=\"art_addtocart_" . $sql->getValue('id') . "\" method=\"get\" action=\"" . rex_getUrl('','','') . "\">";
			echo "			<input type=\"hidden\" name=\"mode\" value=\"addtocart\" />";
			echo "			<input type=\"hidden\" name=\"art_id\" value=\"" . $sql->getValue('id') . "\" />";
			echo "			<input class=\"art_input_text\" type=\"text\" name=\"art_count\" id=\"count" . $sql->getValue('id') . "\" value=\"1\" />&nbsp;";
			echo "			<input class=\"art_input_submit\" type=\"submit\" name=\"art_input_submit\" id=\"art_input_submit_" . $sql->getValue('id') . "\" value=\"In den Warenkorb\" />";
			echo "		</form>";
			echo "		</p>";
			echo "	</div>";
			
			if ($usefacebook == "1") {
					$url = urlencode("http://".$_SERVER["SERVER_NAME"] . rex_getUrl('','', array('art_id'=>$sql->getValue('id'))));
?>
				<div style="text-align:left; padding-top: 10px;">
					<iframe src="http://www.facebook.com/plugins/like.php?href=<?php echo $url; ?>&layout=button_count&action=recommend" scrolling="no" frameborder="0" style="border:none; width:500px; height: 50px;"></iframe>
				</div>
				<?php
			}

			if ($sql->getValue('keywords') != "") {
				echo "	<div class=\"art_tags\">";
				echo "		<h5>Schlagworte:</h5>";
				$tags = explode(",", $sql->getValue('keywords'));	
				$tags_out = "";
				foreach ($tags as $value) {
					$tags_out .= "<a href='" . rex_getUrl('','', array('tag'=>trim($value))) . "'>$value</a>, ";
				}
				$tags_out = substr($tags_out, 0, - 2);
				echo $tags_out;
				echo "	</div>";
			}
			echo "</div>";
		}
	}
?>
Keine Garantie auf Rechtssicherheit :?
Gruß
Jochen

Re: TvsShop

Verfasst: 14. Jul 2015, 16:17
von Popkultur
Hat schon jemand den tvsshop unter 4.6.1 und SEO42 4.1.2 laufen?

Ich kriege da nur einen weißen Screen im Frontend und den Fehler

Code: Alles auswählen

Warning: require_once(/kunden/123/xxx/195/207/webseiten/xxx.de-rex4.6.1/redaxo/include/addons/tvsshop/classes/../../seo42/classes/class.rexseo_rewrite.inc.php): failed to open stream: Datei oder Verzeichnis nicht gefunden in /kunden/123/xxx/195/207/webseiten/xxx.de-rex4.6.1/redaxo/include/addons/tvsshop/classes/shopUrlRewrite.inc.php on line 15

Fatal error: require_once(): Failed opening required '/kunden/123/gn2-hosting/195/207/webseiten/xxx.de-rex4.6.1/redaxo/include/addons/tvsshop/classes/../../seo42/classes/class.rexseo_rewrite.inc.php' (include_path='.:/usr/local/lib/php') in /kunden/123/xxx/195/207/webseiten/xxx.de-rex4.6.1/redaxo/include/addons/tvsshop/classes/shopUrlRewrite.inc.php on line 15
Wenn ich das SEO42 ganz deinstalliere, gehts. Allerdings werden die URLs immer noch umgeschrieben. Ich weiß nicht wieso und woher das kommt. Andere SEO Addons sind eigentlich nicht installiert.

Ich vermute den Fehler hier in der config.inc.php:

Code: Alles auswählen

	$tvsshopinifile = $REX['INCLUDE_PATH'] . "/addons/" . $tvsshop_addon . "/" . $tvsshop_addon . ".ini";

	// SEO-Integration
	if (OOAddon :: isAvailable('rexseo') || OOAddon :: isAvailable('seo42')) {	
		require_once dirname(__FILE__) ."/classes/shopUrlRewrite.inc.php";
		rex_register_extension('REXSEO_PATHLIST_CREATED', 'tvsshop_extended_urls');
		// URLs in Sitemap eintragen
		rex_register_extension('REXSEO_SITEMAP_ARRAY_CREATED', 'tvsshop_extended_sitemap');
	}

Re: TvsShop

Verfasst: 15. Jul 2015, 11:25
von michaelwandel
Hi,

das liegt an der fehlenden Unterstützung von SEO42 ab Version 4.x

Ich habe eine aktuelle Version in Vorbereitung, die vermutlich dann auch 1.00 final sein wird, ich werde sie in den nächsten Tagen mal online stellen, es sei denn Du brauchst dringend abhilfe :)

Gruß, Michael :)

Re: TvsShop

Verfasst: 15. Jul 2015, 12:57
von Popkultur
Hi,

nein, ich habe in der config jetzt einfach mal die Rewriting-Klasse abgestellt, dann gehts (trotzdem o.o). Danke :)

Neue Version TvsShop 0.9.9

Verfasst: 21. Jul 2015, 14:38
von michaelwandel
So, ein wenig länger hats gedauert aber ich denke die Version 0.9.9 lasse ich mal auf Euch los ;-)

http://www.redaxo.org/de/download/addons/?addon_id=927

Änderungen wie folgt:
<h1><u>TvsShop v0.9.9</u></h1>
- SEO42-Kompatibilität ab 4.x
- Bootstrap 3.x-Kompatibilität
- neues Feld "new_tag" für Kennzeichnung neuer Artikel

<h2><u>TvsShop v0.9.8</u></h2>
- Verwandte Artikel
- Fehler bei Warenkorbausgabe behoben

<h2><u>TvsShop v0.9.7</u></h2>

- Importschnittstelle um Warengruppen erweitert
- Verknüpfung Artikel <-> Warengruppen geht nun über die category_id !
- Ausgabemodul angepasst !
- Hilfeseite
- Ein- und Ausgabemodul getrennt, da nun auf der Hilfeseite Standardmodul installiert werden kann
- Korrekte Berücksichtigung des Offline-Status von Artikel und Kategorien
So, wenn Ihr irgendwelche Features noch gerne reingenommen hättet, einfach rüber damit, damit es mal zu einer Final 1.00 kommen kann :)

Gruß, Michael

Re: TvsShop

Verfasst: 22. Jul 2015, 11:01
von ralf.schlott
Hey Michael,

toll, dass du ein Paket draus geschnürt hast! Super auch, dass die Schnipsel von mir mit eingeflossen sind :)

Re: TvsShop

Verfasst: 5. Sep 2015, 19:42
von RexDude
Hier gibts noch ein Prob: http://www.redaxo.org/de/forum/addons-f ... ml#p115796
@Michael: Besser wäre es wenn du mit function_exists() überprüfst ob die Funktionen existieren vor Aufruf.

Re: TvsShop

Verfasst: 9. Sep 2015, 09:53
von LPROG
Hallo,

vielleicht habe ich etwas übersehen und vielleicht bin ich schon der (gefühlte) Zehntausendste der fragt, aber wie ist der aktuelle Stand der Dinge?

Ich habe in diesem Beitrag schon Lösungsvorschläge zur Integration von Zahlungsmöglichkeiten (0.9.6) gelesen und auch schon die Umsetzung der Checkboxen für AGB und Widerrufsbelehrung gelesen. Angeblich braucht man nur eine PayPal-Mail-Adresse eingeben und dann würde diese Zahlungsmöglichkeit mit angeboten.

In der jetzigen Version 0.9.9 finde ich jedoch KEINE dieser hier dargestellten Lösungen. Ist eine Version mit diesen Features in Arbeit? Und wenn ja, wann kommt sie?

Trotzdem: Vielen Dank für den Supi-Shop. Geiles AddOn

Gruß

Re: TvsShop

Verfasst: 23. Sep 2015, 14:03
von psgehe
Hi,

ich habe ein kleines Problem mit dem Addon, habe die vorangegangenen Seiten auch überflogen doch leider nichts gefunden. Eine Suche zu diesem Thema leider auch nicht.

Bei mir passiert folgendes: Wenn ich ein Artikel in den Warenkorb lege wird dieser dann in doppelter Anzahl in den Warenkorb gelegt.

Ich benutze Redaxo 4.6.1 und vom Shop die Version 0.99. Über Hilfe/ Lösungsansätze wäre ich sehr dankbar.

Re: Neue Version TvsShop 0.9.9

Verfasst: 23. Mär 2016, 17:49
von steri
Hallo Zusammen,

vielen Dank für die neue (wenn auch schon wieder länger her) 0.99 Version mit seo Unterstützung!

Wenn ich einen Wunsch machen dürfte und dem Aufruf von Michael folge
michaelwandel hat geschrieben: So, wenn Ihr irgendwelche Features noch gerne reingenommen hättet, einfach rüber damit, damit es mal zu einer Final 1.00 kommen kann :)
dann würde ich mir bitte unbedingt wünschen das man Optionen bei den Artikel machen kann.
Also z.b.
Artikel "T-Shirt" mit
Auswahl Option für z.b. Grösse (S,M,L,XL) und für Farbe (blau, grün, weiss).

Das wär fein!
lg steri

Versandkosten

Verfasst: 12. Apr 2016, 17:08
von Clark_K
Hallo! Tolles Add-On, gratuliere!

Meine Frage: Habe ich die Möglichkeit Versandkosten abhängig vom Warenwert und abhängig von der Lieferadresse zugestalten? Ich meine, dass zum Beispiel Versandkosten nach Frankreich anders berechnet werden, als Versandkosten innerhalb des Landes?

Gruß Clark

Re: TvsShop

Verfasst: 3. Jul 2016, 11:01
von nuxx
Hallo alle zusammen.
habe nun mal meinen Shop auf die Version 0.9.9 geuppt. Ich nutze also die vorhandenen Artikel mit der neuen Version.
Hier fällt mir auf, dass das Modul "TVS Shop Kategorien" nicht mehr korrekt arbeitet. Es wird an jede Kategorie URL ?tvsshop_cat=0 angehängt. (immer ID 0)
In der Artikelverwaltung fällt mir auf, dass bereits vorhandene Artikel keiner Kategorie mehr zugeordnet sind.

Hat jemand ähnliche Erfahrung und ggf schon Lösungen?
l.G. Nuxx

Re: TvsShop

Verfasst: 6. Jul 2016, 11:58
von michaelwandel
Hi,

nutzt Du auch das aktuelle Ausgabemodul ? Ich meine ich hätte das was geändert ;-)

Kann auch gerne mal die aktuelle Version hochladen, hat sich ein bisschen was getan :)

Gruß Michl :)

Re: TvsShop

Verfasst: 11. Jul 2016, 17:05
von CWS
Hey Michi,

was hast denn Neues hinzugefügt, bzw. geändert? Würde ich mir gern mal ansehen wollen.

Wird es denn den Blog, etc. auch irgendwann für die 5er geben????

LG Christian :-)

Re: TvsShop

Verfasst: 12. Jul 2016, 09:59
von michaelwandel
Hoi :)

Mmh, also hier mal die TVSShop-Historie:

<h1><u>TvsShop v0.9.12</u></h1>
- Neues Feld "stock" für die Lieferbarkeit von Artikeln

<h2><u>TvsShop v0.9.11</u></h1>
- DefaultImage für alle Artikel kann nun gesetzt werden
- Ausgabe von Alternativtext für Artikel ohne Preis

<h2><u>TvsShop v0.9.10</u></h2>
- Support für Website Manager (Nutzung von einer TVSShop-Datenbank)

<h2><u>TvsShop v0.9.10</u></h2>
- Produktmerkmale für Artikel setzbar
- Imagemanager-Template 'tvsshoppreview' nun für Bilder verwendet
- Alle Bilder eines Artikels werden nun ausgegeben
- Warenkorb-Knopf kann unterdrückt werden
- Ekko-Lightbox per CDN eingebunden, Imagemanager-Templates werden installiert

<h2><u>TvsShop v0.9.9</u></h2>
- SEO42-Kompatibilität ab 4.x
- Bootstrap 3.x-Kompatibilität
- neues Feld "new_tag" für Kennzeichnung neuer Artikel


TVSBlog wird auf jeden Fall für Rex5 erscheinen, kann aber nicht sagen ob ich das dieses Jahr noch schaffe...Ist eine komplette Neuprogrammierung..

Gruß, Michl :)

Re: TvsShop

Verfasst: 12. Jul 2016, 17:05
von nuxx
Hallo,
ja hatte das aktuelle Ausgabemodul verwendet. Mittlerweile bin ich darauf gekommen: Musste die Kategorien im Backend aufrufen und die ID manuell eintragen, und bei allen Artikeln noch einmal die Kategorie im Backend zuordnen, dann gings.

Re: TvsShop

Verfasst: 8. Aug 2016, 09:22
von JulianSt
Hey Leute,

Ich bin relativ neu in Redaxo und kenne mich deshalb nicht so wirklich aus.
Nun habe ich das Addon istalliert. So, Module habe ich in der ZIP-Datei entdeckt und installiert. Doch ich blicke einfach nicht so wirklich durch, wo was hingehört. Also sprich, beim Modul Shop gibt es ja eine Eingabe-Datei und eine Ausgabe. Die muss ich ja einfach nur kopieren und dann einfügen doch wie sieht es mit den restlichen Dateien aus?
Tut mir leid, wenn das eine echt blöde Frage ist, aber ich kenne mich wie gesagt noch nicht so super gut mit Addons aus.
Danke für jede Hilfe

Redaxo 4.2.1
Tvs-Shop 0.9.9

Re: TvsShop

Verfasst: 13. Sep 2016, 10:30
von michaelwandel
Hi,

bist Du mit Deinem Problem weitergekommen ?

Hast Du mal geschaut beim TvsShop-Addon direkt, da gibt es den Menüpunkt "Hilfe" und dort kannst Du das Standardmodul automatisch installieren lassen ;-)

Gruß, Michael :-)

Re: TvsShop

Verfasst: 21. Nov 2016, 13:46
von iceman-fx
Hi,
ich habe soeben den Shop testweise auf einer frischen Rex4.7 Installation aufgesetzt.
Das Std.modul ist installiert und die Artikel sehe ich auch.

Aber...

Es passiert nichts, wenn ich einen Artikel dem Warenkorb hinzufüge.
Außer einer Fehlermeldung wird nichts angezeigt:
Directory index forbidden by Options directive: /home/www/web118/html/files/, referer: http://web118.domain.de/index.php?mode= ... +Warenkorb

Fehlt da noch ein Modul für den Warenkorb bzw. den Bestellprozess ?


PROBLEM GEFUNDEN:
Du nutzt ZWINGEND das seo42 Addon.
Hat man es nicht installiert, schmiert der Shop ab.

Re: TvsShop

Verfasst: 12. Apr 2017, 23:36
von mot-K
Hallo zusammen,

ich benötige demnächst eine Shopanbindung für eine Redaxo-Seite (4er) und bin auf dieses Addon gestoßen. Im Downloadbereich kann man lediglich die Version 0.9.9 laden. Besteht die Möglichkeit, die neuste Version (laut diesem Thread die 0.9.12?) zur Verfügung zu stellen?

Ist momentan eine neue Version in Arbeit, beispielsweise mit der Möglichkeit zur PayPal-Anbindung?

Vielen Dank!

Gruß Jan

Re: TvsShop

Verfasst: 24. Apr 2017, 14:06
von michaelwandel
Hi,

ja es gibt eine 0.99.12-er Version, werde sie die Tage mal hochladen, hier mal die changelog der letzten Änderungen:

<h2><u>TvsShop v0.9.11</u></h1>
- DefaultImage für alle Artikel kann nun gesetzt werden
- Ausgabe von Alternativtext für Artikel ohne Preis

<h2><u>TvsShop v0.9.10</u></h2>
- Support für Website Manager (Nutzung von einer TVSShop-Datenbank)

<h2><u>TvsShop v0.9.10</u></h2>
- Produktmerkmale für Artikel setzbar
- Imagemanager-Template 'tvsshoppreview' nun für Bilder verwendet
- Alle Bilder eines Artikels werden nun ausgegeben
- Warenkorb-Knopf kann unterdrückt werden
- Ekko-Lightbox per CDN eingebunden, Imagemanager-Templates werden installiert

Paypal-Einbindung ist von mir nicht geplant weil die Zielsetzung des TVSShop beim Ansenden der Bestellmail immer enden sollte und die Einbindung nicht so ohne ist, es gibt aber wohl schon ein paar Jungs die da was gebaut haben ;-)

Gruß, Michael :-)

Re: TvsShop

Verfasst: 25. Apr 2017, 14:13
von mot-K
Alles klar, vielen Dank!
Ich warte dann auf den Upload :)

Gruß Jan

Re: TvsShop

Verfasst: 6. Mai 2017, 16:46
von die su
Installation tvsshop klappt nicht trotz SEO42
Bis jetzt ist es mir noch nicht einmal gelungen, dieses Addon zumindest einmal auszuprobieren, denn ich kann nicht installieren. Versuche auf
redaxo 4.6 + 4.7, und 4.7.2
seo42_v4.5.0, seo42_v4.5.1, seo42_v4.5.2

Fehlermeldung:
Call to undefined function rexseo_generate_pathlist() in ... redaxo/include/addons/tvsshop/install.inc.php on line 68
Wo ist das Problem? Kann mir bitte jemand helfen?

Re: TvsShop

Verfasst: 7. Mai 2017, 00:25
von runstop64
Da wird wohl eine Funktion vom Addon RexSEO erwartet. Hast du es schon mal damit probiert?