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

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: TvsShop

5. Mär 2015, 10:16

Hallo!

Ich setze TvsShop v0.9.6 ein, und der Import klappt bei mir nicht so richtig. Er lädt die Datei hoch, zeigt aber immer "0 Artikel importiert" an. Die CSV Datei besteht aus ca 30 Zeilen, Trennzeichen Semikolon. Woran kann das liegen? Danke für Hilfe. So sieht die CSV aus:

Code: Alles auswählen

20724;Handschuhe Size: 6;;handschuhe.png;;;
20725;Handschuhe Size: 8;;handschuhe.png;;;
20726;Handschuhe Size: 9;;handschuhe.png;;;
20727;Handschuhe Size: 10;;handschuhe.png;;;
20728;Handschuhe Size: 11;;handschuhe.png;;;
20729;Handschuhe Size: 12;;handschuhe.png;;;
20730;T-Shirt Size: S;;t-shirt.png;;;
20731;T-Shirt Size: M;;t-shirt.png;;;
20732;T-Shirt Size: L;;t-shirt.png;;;
20733;T-Shirt Size: XL;;t-shirt.png;;;
20734;Sweatshirt Size: S;;sweatshirt-lang.png;;;
20735;Sweatshirt Size: M;;sweatshirt-lang.png;;;
20736;Sweatshirt Size: L;;sweatshirt-lang.png;;;
20737;Sweatshirt Size: XL;;sweatshirt-lang.png;;;
20738;Arbeitshose Size: 23;;arbeitshose-lang.png;;;
20739;Arbeitshose Size: 48;;arbeitshose-lang.png;;;
20740;Arbeitshose Size: 50;;arbeitshose-lang.png;;;
20741;Arbeitshose Size: 52;;arbeitshose-lang.png;;;
20742;Arbeitshose Size: 54;;arbeitshose-lang.png;;;
20743;Arbeitshose kurz Size: 23;;arbeitshose-kurz.png;;;
20744;Arbeitshose kurz Size: 48;;arbeitshose-kurz.png;;;
20745;Arbeitshose kurz Size: 50;;arbeitshose-kurz.png;;;
20746;Arbeitshose kurz Size: 52;;arbeitshose-kurz.png;;;
20747;Arbeitshose kurz Size: 54;;arbeitshose-kurz.png;;;
[ externes Bild ]

Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: TvsShop

5. Mär 2015, 14:53

Da ist vielleicht ein Fehler im Script.

Zeile 95 im import.inc.php muss lauten:

Code: Alles auswählen

					$artnr		= ($col_artnr > -1) ? str_replace(chr(34), "", utf8_encode($article_array[$col_artnr])) : "";
					$ean		= ($col_ean > -1) ? str_replace(chr(34), "", utf8_encode($article_array[$col_ean])) : "";
					$title		= ($col_title > -1) ? str_replace("'","",str_replace(chr(34), "", utf8_encode($article_array[$col_title]))) : "";
					$description= ($col_description > -1) ? str_replace("'","",str_replace(chr(34), "", utf8_encode($article_array[$col_description]))) : "";
					$price		= ($col_price > -1) ? str_replace(",",".",$article_array[$col_price]) : 0;
					$price		= ($price != "") ? number_format($price,2,".","") : 0;
					$clang		= ($col_clang > -1) ? $article_array[$col_clang] : 1;
					$category	= $default_category;
					$image		= ($col_image > -1) ? str_replace(chr(34), "", utf8_encode($article_array[$col_image])) : "";
					$status		= $default_status;
Dann gehts. Dann erkennt er auch die erste Spalte.

Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: TvsShop

9. Mär 2015, 12:14

Hallo nochmal zusammen,

habe den Shop jetzt in verschiedene Kategorien aufgeteilt, und das Shopausgabe Modul auf mehreren Unterseiten eingesetzt. Leider funktionieren so die Links zu den Artikeln im Warenkorb nicht mehr, da der Shop in den Einstellungen nur eine Shop-ID abfragt, und nicht die Shop-ID für jede Kategorie. Gibts da schon eine Umsetzung die das berücksichtigt?

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: TvsShop

9. Mär 2015, 12:43

noch eine Änderung damit der shop zusammen mit dem aktuellen Addon seo42 funktioniert:
unter classes/shopUrlRewrite.inc.php gehört bei

Code: Alles auswählen

if (OOAddon :: isAvailable('rexseo')) {
		require_once dirname(__FILE__) ."/../../rexseo/classes/class.rexseo_rewrite.inc.php";
	}
	
	if (OOAddon :: isAvailable('seo42')) {
		require_once dirname(__FILE__) ."/../../seo42/classes/class.rexseo_rewrite.inc.php";
	}
geändert auf

Code: Alles auswählen

	if (OOAddon :: isAvailable('rexseo')) {
		require_once dirname(__FILE__) ."/../../rexseo/classes/class.rexseo_rewrite.inc.php";
	}
	
	if (OOAddon :: isAvailable('seo42')) {
		require_once dirname(__FILE__) ."/../../seo42/classes/class.seo42_rewrite.inc.php";
	}
sowie statt rexseo_appendToPath() immer seo42_appendToPath()
und bei zeile 144

Code: Alles auswählen

		$_params['subject']['SEO42_URLS'][$pathname] = array (
statt $_params['subject']['REXSEO_URLS'][$pathname] = array (

und wie schon geschrieben bei der install.inc.php - sowie 3x bei pages/articles.inc.php ca zeile 111 & Zeile 122 & Zeile 128:

Code: Alles auswählen

if (OOAddon :: isAvailable('seo42')) {
		seo42_generate_pathlist(array());
	}	
und schließlich in der config.inc.php

Code: Alles auswählen

rex_register_extension('SEO42_PATHLIST_CREATED', 'tvsshop_extended_urls');
		// URLs in Sitemap eintragen
		rex_register_extension('SEO42_SITEMAP_ARRAY_CREATED', 'tvsshop_extended_sitemap');
statt

Code: Alles auswählen

rex_register_extension('REXSEO_PATHLIST_CREATED', 'tvsshop_extended_urls');
		// URLs in Sitemap eintragen
		rex_register_extension('REXSEO_SITEMAP_ARRAY_CREATED', 'tvsshop_extended_sitemap');

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

10. Jun 2015, 22:09

Hallo,
ich versuche den TvsShop zu installieren und bekomme immer diese Meldung:
Fatal error: Call to undefined function rexseo_generate_pathlist() in /homepages/8/d2407549211/htdocs/Redaxo_Shop/redaxo/include/addons/tvsshop/install.inc.php on line 65
ich kann nichts entdecken was falsch sein könnte.

Ich benutze Redaxo 4.6.1
PHP 5.4.39
Bin für alle Tipps dankbar

Gruß
Jochen
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 10:45

Hallo,

hat sich erledigt, manchmal muss man einfach eine Nacht darüber schlafen.

Nach dem ich RexSeo abgeschaltet habe konnte ich es ohne Probleme installieren.

Gruß
Jochen
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 12:23

Hallo,

ich habe eben den Shop getestet und er funktioniert gut, nur rechtlich scheint mir der Shop doch bedenklich!!

Zum Beispiel sollten die AGB´s und Widerufsbelehrung bei der Bestellung je mit einer Checkbox versehen sein die erst angeklickt werden müssen bevor die Bestellung ausgeführt werden kann, ebenso sollte ein Link im Text bei den Checkboxen sein von dem aus man auf die AGB´s und Widerufsbelehrung kommt.

Zweite Punkt ist:
dass dem Kunden, auf der Bestellseite „alle wesentlichen Details der Ware“ noch einmal angezeigt
werden müssen. Was bedeutet das der Warenkord inkl. aller entstehender Kosten (Lieferkosten usw.) auf der Seite stehen muss und dann erst der Button „Kostenpflichtig bestellen"

Sorry, ansonsten eine tolle Arbeit, mit ein Paar Änderungen perfekt :lol:

Gruß
Jochen
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 12:56

Hi,

aktuelle Version 0.9.9. wirds bald geben, mal schauen ob ich sowas dann auch reinbaue ;-)

Auf jeden Fall Unterstützung für SEO42 ab 4.x und Bootstrap und so was ;-)

Gruß, Michael :)

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 13:07

Hallo Michael,

wäre super, es müsste ja nur das Formular abgeändert mit zwei Checkboxen (AGB und Wiederruf) und darunter nochmal den Warenkorb anzeigen lassen, schon fertig :lol:

Ich weis sagt sich immer so einfach :?

Gruß
Jochen
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 13:26

Mithilfe ist doch immer toll!
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 13:31

Hallo Nuxx,

bin auch schon am basteln :)

Gruß
Jochen
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Benutzeravatar
jeje
Beiträge: 175
Registriert: 14. Mai 2008, 17:54
Wohnort: Frankfurt/M
Kontaktdaten: Website

Re: TvsShop

11. Jun 2015, 15:41

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
Nicht ärgern - Lebbe geht weider | Mein-Office | Referenzen

Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: TvsShop

14. Jul 2015, 16:17

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');
	}

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: TvsShop

15. Jul 2015, 11:25

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 :)

Popkultur
Beiträge: 82
Registriert: 1. Apr 2014, 19:55

Re: TvsShop

15. Jul 2015, 12:57

Hi,

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

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Neue Version TvsShop 0.9.9

21. Jul 2015, 14:38

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

Benutzeravatar
ralf.schlott
Beiträge: 625
Registriert: 5. Dez 2007, 21:22
Wohnort: Hamburch
Kontaktdaten: Website

Re: TvsShop

22. Jul 2015, 11:01

Hey Michael,

toll, dass du ein Paket draus geschnürt hast! Super auch, dass die Schnipsel von mir mit eingeflossen sind :)
- Danke für Redaxo! -
http://www.prenzlweb.de

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: TvsShop

5. Sep 2015, 19:42

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.

LPROG
Beiträge: 19
Registriert: 5. Sep 2015, 09:22

Re: TvsShop

9. Sep 2015, 09:53

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ß

psgehe
Beiträge: 13
Registriert: 30. Apr 2014, 11:22

Re: TvsShop

23. Sep 2015, 14:03

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.

steri
Beiträge: 364
Registriert: 12. Jul 2007, 14:59

Re: Neue Version TvsShop 0.9.9

23. Mär 2016, 17:49

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

Clark_K
Beiträge: 1
Registriert: 12. Apr 2016, 16:41

Versandkosten

12. Apr 2016, 17:08

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

Benutzeravatar
nuxx
Beiträge: 164
Registriert: 16. Dez 2005, 18:45
Wohnort: Kaputtgart 21

Re: TvsShop

3. Jul 2016, 11:01

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
Halbwissen ist schonmal besser als Vollpfosten!

Benutzeravatar
michaelwandel
Beiträge: 331
Registriert: 1. Jul 2010, 13:54
Wohnort: Köln
Kontaktdaten: Website

Re: TvsShop

6. Jul 2016, 11:58

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 :)

Benutzeravatar
CWS
Beiträge: 68
Registriert: 15. Jun 2014, 12:09
Kontaktdaten: Website

Re: TvsShop

11. Jul 2016, 17:05

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 :-)

Zurück zu „Allgemeines [R4]“