Mittwoch, 4. februar 2009
Das altbewährte XT:Commerce Modul "Händlersuche" wurde einer Generalüberholung unterzogen.

Das bewährte Modul für Großhändler, das im Frontend eine Suchmaske bereitstellt mittels derer Endkunden einen B2C Händler nach Postleitzahlbereich suchen  können war doch etwas in die Tage gekommen und hat deswegen eine Generalüberholung bekommen.
als Neue Features wurden integriert:
  • Unterstützung für Händler aus mehreren Ländern
  • Felder für Telefon, Fax, Internet und Email nun optional
  • zusätzliches Optionales Feld für Informationstexte
Ausserdem wurde das Backend neu und übersichtlicher gestaltet und die Ausgaben des Frontends werden nun endlich über die Smarty Template Engine generiert und können so wie der Rest des Shopdesigns über Temoplate-Dateien komfortabel gestaltet werden.
Das Modul wird wie gewohnt mit einer ausführlichen Installationsanleitung geliefert und ist nach wie vor für 199,--€ unter http://www.smt-webservices.de/shop-module/xtcommerce/haendlersuche.html käuflich zu erwerben.

von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Donnerstag, 13. november 2008
Der KFZ-Manager ist ein mächtiges und dennoch einfach zu bedienendes Management Tool für den Kraftfahrzeug Teilehandel.

Neben dem Hauptzweck, der Bereitstellung einer  KBA Suche und einer frei einstellbaren geführten Suche (über Hersteller, Typ, etc.) bietet der KFZ Manager die Möglichkeit jedem Produkt eine unbegrenzte Anzahl an Teilenummern zuzuweisen (z.B. Vergleichsnummern), bei denen wiederum für jede einzeln festgelegt werden kann, ob sie öffentlich durchsuchbar sein sollen (über das Teilenummern-Suchfeld, das der KFZ-Manager ebenfalls bereitstellt) oder ob sie nur zur internen Verwendung benutzt werden sollen.

Seine volle Stärke entfaltet der KFZ-Manager aber im Backend für den Betreiber, so können Fahrzeugdaten einzeln, oder mittels eines extrem Flexiblen CSV Import-Tools eingepflegt werden.

Die Zuweisung von Teilen zu Fahrzeugen ist über zwei Wege möglich:

1. Teile zu Fahrzeug Zuweisung, hier wird ein Fahrzeug ausgewählt dem dann Produkte zugewiesen werden.

2. Fahrzeuge zu Teil Zuweisung, dies stellt den umgekehrten Weg dar, es wird also ein Produkt ausgewählt und dann Fahrzeuge ausgewählt für die das Teil passend ist.

in beiden Richtungen ist je Produkt oder Fahrzeug nur eine Checkbox anzuwählen, um die Zuweisung vorzunehmen. Für die Fahrzeugauswahl stehen jeweils die KBA Suchfelder und eine geführte Suche auch im Backend zur verfügung, und für die Produktsuche eine Kategorieauswahl über Dropdownfelder und eine Produktliste.

Somit ist sowohl das nachträgliche Einpflegen von neuen Fahrzeugen als auch von neuen Produkten mit relativ geringem Aufwand schnell und Übersichtlich durchzuführen.

 Die geführte Suche für den Shopbesucher kann im Backend extrem flexibel eingestellt werden, so ist es möglich Auswahlfelder ein oder auszublenden, sowie deren Reihenfolge beliebig zu verändern.

Im Frontend Stellt der KBA Manager eine eigene Breadcrumb - Navigation bereit, so das der Kunde jederzeit einen oder mehrere Suchschritte zurückspringen kann.

Über den Produkt-Listings werden ständig die Eckdaten des ausgewählten Fahrzeugs angezeigt, so das der Kunde sich ständig im klaren darüber sein kann, auch wirklich die für sein Fahrzeug passenden Teile (und nur die passenden) angezeigt zu bekommen.

Das Modul kann ab sofort in unserem Shop unter www.smt-webservices.de/shop-module/xtcommerce/kfz-manager.html erworben werden
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Dienstag, 30. september 2008
Nach nunmehr 1 1/2 monatiger Entwicklungszeit ist das Projekt KFZ-Manager / KBA Suche nun in der Beta-Phase angelangt. Hierfür werden noch Tester benötigt.

Das Modul für XT-Commerce enthält folgende Funktionalität:
  • KFZ-Datenbank Import per CSV (flexibler Importer)
  • manuelles pflegen der KFZ Daten möglich
  • einfache Zuweisung von Fahrzeugen zu Teilen oder Teilen zu Fahrzeugen
  • frei Konfigurierbare Suchfelder fürs Frontend
  • alle Fronend-Ausgaben sind per Template gestaltbar
  • Fahrzeugliste zu allen Teilen auch aus der normalen Shop-Navigation
  • Rücksprung zu jedem Suchschritt via Bre4adcrumb-Navigation möglich
Das Modul wird nach Fertigstellung 3 Monate lang zu einem Einführungspreis von 599,00 €,
danach für 1499,00 € erhältlich sein.
Die aktiven Beta Tester erhalten einen Preisnachlass von 40 %.

Im Lieferumfang des Moduls ist KEINE KFZ Datenbank enthalten.
Es ist jedoch geplant Plugins für z..B. Techdoc Datenanbindung bereitzustellen, wenn sich hierfür ausreichend Interessenten finden.

Ablauf der Beta-Phase:
Jeder Tester bekommt einen xtc grundinstallation bereitgestellt mit installiertem KFZ-Manager
in dieser Umgebung können dann die Funktionen und Einstellmöglichkeiten des Moduls ausführlich getestet werden. Die Installation wird ein Bug-Melde-Formular enthalten, mittels dessen Fehler und Feature-Wünsche direkt an uns übermittelt werden können.
Bitte haben Sie Verständnis, das wir keine Vorabversionen zur Eigen-Installation bzw zur Installation in eigene Shops herausgeben, wir möchten vermeiden, das diese unfertigen Versionen in Umlauf geraten und Bugs daraus mit dem noch fertigzustellenden Produkt assoziiert werden.


Bewerbungen zum Betatest bitte an info[at]smt-webservices[dot]de

Bewerbungsschluss: 15.10.2008



von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Sonntag, 3. august 2008
An dieser Stelle möchte ich ein neues Modul vorstellen,
das die Navigation für Ihre Kunden vereinfacht und damit die Übersichtlichkeit Ihres Shops verbessert.
Mittels des Ajax Frameworks können detailierte Produktinformationen direkt in den Produktübersichten ohne Reloads zugänglich gemacht werden.

Es bietet ihnen die Möglichkeit, direkt aus den Produktübersichten die wichtigsten Daten Ihrer Produkte einzusehen ohne die Übersicht zu verlassen, auch die direkte Warenkorbübergabe ist möglich, sowie (falls gewünscht) das Abgeben von Bewertungen.

Features:

  • eigene Templates für jeden Teilbereich
  • Browserkompatibilität
  • direkte Warenkorbübergabe
  • direkte Abgabe von Bewertungen
  • kein Verlassen der Übersicht
  • keine Browser-Reloads
das Modul ist ab sofort für 39,95€  hier erhältlich.

von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Freitag, 18. april 2008

dem Einen oder Anderen ist es vielleicht schon aufgefallen, das für die Advanced Search Results Seite unter Umständen ein Template gewählt wird, daß eigentlich so nicht gedacht war, und das man es auch nicht im Admin einstellen kann, welches Template denn gewählt werden soll.

Die entsprechende Anweisung im original XTC code "wählt" nämlich einfach die "erste" Template-Datei im ordner templates/IhrTemplate/module/product_listing aus.


PHP-Code:
// get default template

if ($category['listing_template'] == '' or $category['listing_template'] == 'default') {

$files = array ();

if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/')) {

while (($file = readdir($dir)) !== false) {

if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/'.$file) && ($file != "index.html") &&(substr($file, 0, 1) !=".")) {

$files[] = array ('id' => $file, 'text' => $file);

} //if

} // while

closedir($dir);

}

$category['listing_template'] = $files[0]['id'];

}



das ist natürlich eine suboptimale Lösung, da man damit recht unflexibel ist.
deshalb habe ich mich mal schnell hingesetzt und eine Lösung gesucht, um das Suchergebnis-Template vom Admin-Bereich aus einstellbar zu machen.

Das Ergebnis ist einfach umzusetzten, daher an dieser Stelle kein Download sondern eine Anleitung.

1. SQL QUERY ausführen:
SQL-Code:
INSERT INTO configuration SET configuration_key="DEFAULT_SEARCH_TEMPLATE", configuration_value="", configuration_group_id=22, sort_order=30,set_function="xtc_cfg_pull_template_selector(";


2. den codeblock
PHP-Code:
// get default template

if ($category['listing_template'] == '' or $category['listing_template'] == 'default') {

$files = array ();

if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/')) {

while (($file = readdir($dir)) !== false) {

if (is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/'.$file) and ($file != "index.html") and (substr($file, 0, 1) !=".")) {

$files[] = array ('id' => $file, 'text' => $file);

} //if

} // while

closedir($dir);

}

$category['listing_template'] = $files[0]['id'];

}

in includes/modules/product_listing.php gegen
PHP-Code:
if ($category['listing_template'] == '' or $category['listing_template'] == 'default') {

$category['listing_template'] = DEFAULT_SEARCH_TEMPLATE;

}
austauschen

3. in lang/german/admin/german.php
PHP-Code:
define('DEFAULT_SEARCH_TEMPLATE_TITLE','Standard Suchergebnis-Template');

define('DEFAULT_SEARCH_TEMPLATE_DESC','Standard Suchergebnis-Template');
einfügen

4. in admin/includes/application_top.php(für PHP 5)
PHP-Code:
function xtc_cfg_pull_template_selector(){

$options = '';

if ($dir = opendir(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/')) {

while (($file = readdir($dir)) !== false) {

if(is_file(DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/module/product_listing/'.$file)&&($file != "index.html") and (substr($file, 0, 1) !=".")) {

$options .= sprintf('<option value="%s">%s</option>'."n", $file, $file);

} //if

} // while

closedir($dir);

}

$ret='<select name="DEFAULT_SEARCH_TEMPLATE">

'.$options.'</select>';

return $ret;

}


einfügen (vor
PHP-Code:
    // Include Template Engine

require(DIR_FS_CATALOG.DIR_WS_CLASSES . 'Smarty_2.6.14/Smarty.class.php');

).

 Das wars schon, jetzt könnt Ihr im Admin-Bereich unter Such-Optionen das Template für die Suchergebnisseite festlegen.

Ich hoffe es nützt dem einen oder anderen
ACHTUNG: diese Lösung setzt PHP 5.x voraus
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare (6) - empfehlen
Mittwoch, 26. märz 2008
Was lange währt wird endlich gut:
Das Modul Ersatzteil-Manager ist fertig gestellt.

Der Ersatzteil-Manager ist ein xt:commerce Modul mit dem Sie Ihren Kunden ein mächtiges Suchwerkzeug zur Verfügung stellen können, das den Kunden über Die Geräteart, den Herstelle, den Typ und letztendlich die Seriennummer zu den für sein Gerät passenden Ersatzteilen (und/oder Zubehörteilen) führt.
Dies geschieht einfach über 4 nach und nach eingeblendete Dropdown Felder. Ist das letzte Feld (Seriennummer) ausgewählt wird dem Kunden eine umfangreich einstellbare Suchergebnisseite angezeigt, die alle passenden Artikel nach Baugruppen sortiert ausgibt.
Der Kunde kann direkt von dieser Ansicht die Artikel in den Warenkorb legen. (Er bleibt auf der Suchergebnisseite)
Zur Gestaltung der Informationsdichte der Suchergebnisseite stehen Ihnen zu JEDEM aufgelisteten Artikel ALLE zugänglichen Informationen zur Verfügung.

Das Backend ist komfortabel und durchdacht, so können Sie zum Beispiel wenn einmal die Grundkonfiguration gegeben ist beim Anlegen neuer Ersatzteile diese direkt aus der Artikel bearbeiten Ansicht Ihres Admin-Interfaces heraus in den ET-Manager einbinden, Ihnen Seriennummern zuweisen etc.
Sie können ebenso wenn Sie die Geräte (Vaterprodukte) ebenfalls führen diese mit den Ersatzteilen verknüpfen, so das der Kunde wenn er ein Vaterprodukt im Shop betrachtet eine Auflistung der Seriennummern(bereiche) sieht die jeweils als Link gestaltet sind und zur Ersatzteil Suchergebnisseite führen.

Im Backend können diese Zuweisungen auch nachträglich erfolgen, wenn Sie zum Beispiel für ein Vaterprodukt schon länger Ersatzteile führen und diese entsprechend im ET-Manager angelegt und zugewiesen haben, können Sie später, wenn Sie auch das Vaterprodukt als Verkaufsprodukt einführen ganz einfach diese Zuweisungen auf das nun vorhandene Shopprodukt übertragen.

Einen Shop der dieses Modul bereits einsetzt finden Sie unter :www.rd-automobile.de


Einen reinen DemoShop, finden Sie unter: Demoshop

Die Admin-Login-Daten für den Demoshop lauten demo@admin.de  passwort: test1234

Der Shop enthält übrigends auch eine Demo zu dem in diesem Artikel beschriebenem Modul.
Leider ist dieser Demo Shop nicht Immer zugänglich, also bei Nichterreichbarkeit (meist Nachts und Vormittags) einfach später noch einmal probieren.

Das Modul wird mit einem automatischen Installer und UnInstaller geliefert und kann hier käuflich erworben werden
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Dienstag, 25. märz 2008
So, nachdem das Thema ja grad recht aktuell zu sein scheint, und auch n Kollege sowas mal schnell gebraucht hat hab  ich mir mal die JCarousel Class von http://sorgalla.com/jcarousel/ gekrallt und ne xt:commerce Box draus gestrickt.
JSLICER_BACK-Kopie-1.png


Fast alle Parameter die die JS Classe hergibt sind in diesem Mini Modul vom Backend aus konfigurierbar, ebenso die relevanten CSS Paramter.

Des weiteren kann eingestellt werden, welche Artikel angezeigt werden sollen: Categorie, Specials oder Zufällig.
Bei Categorie und Specials ist als Rückfalloption Random fest eingestellt (wenn z.B. keine Kathegorie gewählt ist, oder alle Specials ausgelaufen sind)

Frontend:  als box: Abb1         
                    im Content: Abb2                                                                                                                                 Abb1:
fe1-Kopie-1.png

Edit 12.April 2008:

Endlich bin ich dazu gekommen die verbesserte Version zu vervollständigen.
Sie kommt mit einer herkömmlichen Installationsanleitung und nicht mit dem automatischen Installer.
hier herunterladen

Abb2:
fe2.png










Ein Link zu einem Demoshop zum Testen findet sich in diesem Beitrag


von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare (23) - empfehlen
Mittwoch, 5. märz 2008
ich hab den "Kunden die diesen Artikel gekauft haben...." Bereich mal in ne eigenen Box ausgelagert, so das man ihn  eben nicht mehr zwingend unter der Artikelbeschreibung  haben muss.

Download

also_purchased.php gehört in templates/DeinTemplate/source/boxes
box_also_purchased.html gehört in templates/DeinTemplate/boxes

dann noch in templates/DeinTemplate/boxes.php
folgendes einfügen:
php-code:
include(DIR_WS_BOXES . 'also_purchased.php');

und in den language files im bereich boxes einen eintrag

und in die templates/deinTemplate/index.html folgenden eintrag an der gewünschten Position
php-code:
{$box_ALSO_PURCHASED}

heading_also_purchased mit der gewünschten überschrift erzeugen...

done.

ich hoffe es hilft

p.s die php datei is ne adaption auf das originale modul also purchased der ansatz könnte also problemlos auch für cross selling und oder reverse cross selling umgesetzt werden.

edit:
mir is grad noch n kleiner fehler aufgefallen...
in der also_purchased.php gehört folgende zeile noch auskommentiert oder gelöscht:
print_r($_REQUEST);

noch n edit:
nachdem ich freundlich darum gebeten wurde weise ich an dieser Stelle darauf hin, das diese Box keine FSK 18 Abfrage hat: (geänderte Version kommt wenn ich ma wieder ne ruhige Minute hab des mit rein zu stricken)
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare (1) - empfehlen
Dienstag, 26. februar 2008
Die Kategorienamen sind zu lang für das Navigationsmenü und zerreissen das Template?

Dem kann abgeholfen werden:

diese modifizierte  templates/dein Template/source/boxes/categories.php wurde um eine Funktion "truncate_string" erweitert, die es ermöglicht anhand einer einzelnen Variable die maximale Länge für die Namen festzulegen. Ist ein Kategoriename länger, so wird er an der entsprechenden Position abgeschnitten und es werden 3 Punkte angehängt.
Also zum Beispiel die Kategorie heißt "Zubehör für dieses und jenes Gerät" und Sie definieren die maximale Länge auf 20 Zeichen so ergibt das dann: "Zubehör für dieses u..."

Das mag nicht für jeden eine optimale Lösung darstellen, aber der eine oder andere soll sowas schon benötigt haben ;-)

templates/dein Template/source/boxes/categories.php
php-code:
<?php
/* -----------------------------------------------------------------------------------------
$Id: categories.php 1302 2005-10-12 16:21:29Z mz $
XT-Commerce - community made shopping
http://www.xt-commerce.com
Copyright (c) 2003 XT-Commerce
-----------------------------------------------------------------------------------------
based on:
(c) 2000-2001 The Exchange Project (earlier name of osCommerce)
(c) 2002-2003 osCommerce(categories.php,v 1.23 2002/11/12); www.oscommerce.com
(c) 2003 nextcommerce (categories.php,v 1.10 2003/08/17); www.nextcommerce.org

Released under the GNU General Public License
-----------------------------------------------------------------------------------------
Third Party contributions:
Enable_Disable_Categories 1.3 Autor: Mikel Williams | mikel@ladykatcostumes.com

Released under the GNU General Public License

truncate Names: Autor: Tordt Schmidt | info@smt-webservices.de
---------------------------------------------------------------------------------------*/
//Define maximum Category name Length (set 0 for unprocessed strings)
$maxLength=7;
function truncate_names($string, $max_length){
if (max_length!=0){
if (strlen($string) > $max_length) {
$string = substr($string,0,$max_length);
$string .= '...';
}
}
return $string;
}

// reset var
$start = microtime();
$box_smarty = new smarty;
$box_content = '';
$box_smarty->assign('language', $_SESSION['language']);
// set cache ID
if (!CacheCheck()) {
$cache=false;
$box_smarty->caching = 0;
} else {
$cache=true;
$box_smarty->caching = 1;
$box_smarty->cache_lifetime = CACHE_LIFETIME;
$box_smarty->cache_modified_check = CACHE_CHECK;
$cache_id = $_SESSION['language'].$_SESSION['customers_status']['customers_status_id'].$cPath;
}

if(!$box_smarty->is_cached(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id) || !$cache){
$box_smarty->assign('tpl_path', 'templates/'.CURRENT_TEMPLATE.'/');
// include needed functions
require_once (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/inc/xtc_show_category.inc.php');
require_once (DIR_FS_INC.'xtc_has_category_subcategories.inc.php');
require_once (DIR_FS_INC.'xtc_count_products_in_category.inc.php');

$categories_string = '';
if (GROUP_CHECK == 'true') {
$group_check = "and c.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
}
$categories_query = "select c.categories_id,
cd.categories_name,
c.parent_id from ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd
where c.categories_status = '1'
and c.parent_id = '0'
".$group_check."
and c.categories_id = cd.categories_id
and cd.language_id='".(int) $_SESSION['languages_id']."'
order by sort_order, cd.categories_name";
$categories_query = xtDBquery($categories_query);

while ($categories = xtc_db_fetch_array($categories_query, true)) {
$foo[$categories['categories_id']] = array ('name' => truncate_names($categories['categories_name'],$maxLength), 'parent' => $categories['parent_id'], 'level' => 0, 'path' => $categories['categories_id'], 'next_id' => false);
if (isset ($prev_id)) {
$foo[$prev_id]['next_id'] = $categories['categories_id'];
}
$prev_id = $categories['categories_id'];
if (!isset ($first_element)) {
$first_element = $categories['categories_id'];
}
}
//------------------------
if ($cPath) {
$new_path = '';
$id = split('_', $cPath);
reset($id);
while (list ($key, $value) = each($id)) {
unset ($prev_id);
unset ($first_id);
$categories_query = "select c.categories_id, cd.categories_name, c.parent_id from ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION." cd where c.categories_status = '1' and c.parent_id = '".$value."' ".$group_check." and c.categories_id = cd.categories_id and cd.language_id='".$_SESSION['languages_id']."' order by sort_order, cd.categories_name";
$categories_query = xtDBquery($categories_query);
$category_check = xtc_db_num_rows($categories_query, true);
if ($category_check > 0) {
$new_path .= $value;
while ($row = xtc_db_fetch_array($categories_query, true)) {
$foo[$row['categories_id']] = array ('name' => truncate_names($row['categories_name'],$maxLength), 'parent' => $row['parent_id'], 'level' => $key +1, 'path' => $new_path.'_'.$row['categories_id'], 'next_id' => false);
if (isset ($prev_id)) {
$foo[$prev_id]['next_id'] = $row['categories_id'];
}
$prev_id = $row['categories_id'];
if (!isset ($first_id)) {
$first_id = $row['categories_id'];
}
$last_id = $row['categories_id'];
}
$foo[$last_id]['next_id'] = $foo[$value]['next_id'];
$foo[$value]['next_id'] = $first_id;
$new_path .= '_';
} else {
break;
}
}
}

xtc_show_category($first_element);
$box_smarty->assign('BOX_CONTENT', $categories_string);
}

// set cache ID
if (!$cache) {
$box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html');
} else {
$box_categories = $box_smarty->fetch(CURRENT_TEMPLATE.'/boxes/box_categories.html', $cache_id);
}
$smarty->assign('box_CATEGORIES', $box_categories);
?>
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen
Dienstag, 26. februar 2008
liveFind ist eine fehlertolerante live Suche die auf dem AJAX Framework basiert.

Der User benötigt in seinem Browser keinerlei zusätzlichen Plugins um sie nutzen zu
können, Javascript genügt. liveFind liefert dem User, basierend auf dessen Eingabe eine einstellbare Menge analternativen Suchbegriffen, sowie eine ebenfalls einstellbare Menge an direkten Suchtreffern.

Das Modul beinhaltet einen übersichtlichen Administrationsbereich, der weitreichende Einstellungen der Suchtechnik, sowie des Designs ermöglicht.


Das Modul kann hier für nur 69,-- käuflich erworben werden.
von SMT-WebServices - veröffentlicht in: about:xt:Commerce
Kommentar hinzufügen - Kommentare () - empfehlen

about:blog

about:search

about:profile

  • : SMT-WebServices
  • smt-webservices
  • : männlich
  • : 14.12.1977
  • : ecommerce OSCommerce Oxid shopsysteme xt:commerce

about:Site

Erstellen Sie einen Blog auf de.over-blog.com - Kontakt - Nutzungsbedingungen - Missbrauch melden