Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: SCHNITTSTELLE: JTL-Wawi-Connector für modified eCommerce Shopsoftware

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Das Thema steht sogar auf der Roadmap für modified eCommerce Shopsoftware 1.06.

    Schau mal hier: MODUL: Attribute mit Grafiken

    Da müsste dann nur noch der JTL-Connector entsprechend angepasst werden, damit der die entsprechende Tabelle auch anspricht.

    Grüße

    Torsten

    albersmann

    • Fördermitglied
    • Beiträge: 786
    • Geschlecht:
    Danke, da werde ich gleich mal anfangen zu basteln.

    Grüße

    Sven

    Glamko

    • Neu im Forum
    • Beiträge: 13
    Muss auch nochmal was fragen. Wie siehts mit den Herstellerbildern aus? Kann man die auch genauso SEOmäßig umsetzen wie die Artikelbilder?

    Danke vorab an alle Nachteulen :*

    Mikn

    • Neu im Forum
    • Beiträge: 19
    Hat sich in letzter Zeit eigentlich mal jemand daran versucht den Connector mehrsprachig fähig zu machen? Es gibt zwar einen Workaround über die Attribute, aber bisher leider nix für die normalen Beschreibungen...

    Gruß Michael

    h-h-h

    • modified Team
    • Beiträge: 4.563

    h-h-h

    • modified Team
    • Beiträge: 4.563
    [...] aber bisher leider nix für die normalen Beschreibungen...
    [...]

    Dafür kommt mir gerade folgender Lösungsweg in den Sinn:
    Zitat
    Artikelbeschreibung:
    (german)
    Es gibt viele Variationen der Passages des Lorem Ipsum, aber der Hauptteil erlitt Änderungen in irgendeiner Form, durch Humor oder zufällige Wörter welche nicht einmal ansatzweise glaubwürdig aussehen. Wenn du eine Passage des Lorem Ipsum nutzt, solltest du aufpassen dass in der Mitte des Textes keine ungewollten Wörter stehen.
    (german)
    (russian)
    Постоји много верзија и варијација Lorem Ipsum пасуса, али већина је претрпела некакву промену, било да је то додавање неког хумора или насумична респодела речи која на крају не изгледа уверљиво. Ако планирате да користите пасусе Lorem Ipsum модела, требало би да будете сигурни да се у средини текста не крије нека сакривена или срамотна порука.
    (russian)
    (italiano)
    Esistono innumerevoli variazioni dei passaggi del Lorem Ipsum, ma la maggior parte hanno subito delle variazioni del tempo, a causa dell’inserimento di passaggi ironici, o di sequenze casuali di caratteri palesemente poco verosimili.
    (italiano)
    :hobbyhorse:

    Schönen Gruß h-h-h

    eW dresden

    • Frisch an Board
    • Beiträge: 69
    • Geschlecht:
    EK-Preise per Connector?

    erstmal danke für die bisherigen sinnvollen erweiterungen des connectors.
    habe das modul umsatzstatistik_gewinnspanne im shop installiert. hier wurde die db um den EK erweitert (). da ja in der jtl-wawi es einen EK gibt, sollte es doch ohne grösseren aufwand möglich sein die EK`s ebenfalls mit dem connector zu übergeben?
    leider habe ich keine php-ahnung.
    vielleicht hat jemand schon so eine lösung erdacht? oder ketzerisch gefragt: lust dazu?

    ich danke schonmal für eine antwort.

    gruss
    m.h.

    twe

    • Schreiberling
    • Beiträge: 293
    • Geschlecht:
    Hatte das Problem, dass der Connector beim Import auch kleinere Bilder (als im Shop-Admin eingestellt) vergrössert hat. Deshalb habe ich in Zeile 162 und 163 folgenden Code in der setArtikelBild.php

    Code: PHP  [Auswählen]
    $image_p = imagecreatetruecolor($new_width, $new_height);
    imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    mit

    Code: PHP  [Auswählen]
                    if ($new_width>$width && $new_height>$height)
                                            {
                                            $new_width = $width;
                                            $new_height = round ($width / $ratio);
                                            $image_p = imagecreatetruecolor($new_width, $new_height);
                                            imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                                            } else {
                                            $image_p = imagecreatetruecolor($new_width, $new_height);
                                            imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                                            }
    ersetzt

    Dadurch werden jetzt kleinere Produktbilder nicht mehr vergrössert. Da ich vor der Änderung  keine Infos bezüglich dieses Problems gefunden hab, stell ich den Code hier ein, falls noch jemand dieses Problem hat.

    Vielleicht kann sich auch ein PHP-Profi sagen ob das so OK ist. Falls nicht OK, bitte den Beitrag löschen.

    Iamex

    • Fördermitglied
    • Beiträge: 99
    Hallo,

    hier eine Erweiterung um HTN mit an den Shop zu übertragen.

    Falls HTN im Shop bereits vorhanden ist, überspringe Schritt 1

    Schritt 1: HTN in den Shop einbauen: Einbauanleitung von franky_n

    Schritt 2: Suche in jtlwawi_connector\dbeS\Artikel.php z. 45

    Code: PHP  [Auswählen]
    $artikel->cHersteller = realEscape($_POST["Hersteller"]);

    füge danach ein:

    Code: PHP  [Auswählen]
    $artikel->cHAN = realEscape($_POST["HAN"]);

    suche nach z. 85:

    Code: PHP  [Auswählen]
    eS_execute_query("update products set products_fsk18=0, products_shippingtime=$shipping_status, ".$products_statpage_piece." products_model=\"$artikel->cArtNr\", products_price=\"".$artikel->fVKNetto."\", products_tax_class_id=\"$products_tax_class_id\", products_quantity=\"$artikel->nLagerbestand\", products_ean=\"$artikel->cBarcode\", products_weight=\"$artikel->fGewicht\", manufacturers_id=\"$manufacturers_id\", products_status=1, products_last_modified=now(), product_template=\"".$einstellungen->prod_product_template."\", options_template=\"".$einstellungen->prod_options_template."\" where products_id=".$products_id);

    ersetze durch:

    Code: PHP  [Auswählen]
    eS_execute_query("update products set products_fsk18=0, products_shippingtime=$shipping_status, ".$products_statpage_piece." products_model=\"$artikel->cArtNr\", products_price=\"".$artikel->fVKNetto."\", products_tax_class_id=\"$products_tax_class_id\", products_quantity=\"$artikel->nLagerbestand\", products_ean=\"$artikel->cBarcode\", products_manufacturers_model=\"$artikel->cHAN\", products_weight=\"$artikel->fGewicht\", manufacturers_id=\"$manufacturers_id\", products_status=1, products_last_modified=now(), product_template=\"".$einstellungen->prod_product_template."\", options_template=\"".$einstellungen->prod_options_template."\" where products_id=".$products_id);

    Gruß, Markus

    Hallo,
    kleine Ergänzung zu der Anleitung von Iamex, dabei wird die HTN erst beim Update übertragen, bei neu angelegten Artikeln passiert erstmal gar nichts.

    Dazu folgende Änderung:

    In jtlwawi_connector\dbeS\Artikel.php z. 106 das:

    Code: PHP  [Auswählen]
    eS_execute_query("insert into products (products_shippingtime, $products_statpage_piece products_model, products_price, products_tax_class_id, products_quantity, products_ean, products_weight, manufacturers_id, product_template, options_template, products_status, products_date_added) values ($shipping_status,".$products_statpage_piece_value."\"".$artikel->cArtNr."\",".$artikel->fVKNetto.",$products_tax_class_id,$artikel->nLagerbestand,\"".$artikel->cBarcode."\",$artikel->fGewicht,$manufacturers_id,\"".$einstellungen->prod_product_template."\",\"".$einstellungen->prod_options_template."\",1,now())");

    durch das ersetzen

    Code: PHP  [Auswählen]
    eS_execute_query("insert into products (products_shippingtime, $products_statpage_piece products_model, products_price, products_tax_class_id, products_quantity, products_ean, products_manufacturers_model, products_weight, manufacturers_id, product_template, options_template, products_status, products_date_added) values ($shipping_status,".$products_statpage_piece_value."\"".$artikel->cArtNr."\",".$artikel->fVKNetto.",$products_tax_class_id,$artikel->nLagerbestand,\"".$artikel->cBarcode."\",\"".$artikel->cHAN."\",$artikel->fGewicht,$manufacturers_id,\"".$einstellungen->prod_product_template."\",\"".$einstellungen->prod_options_template."\",1,now())");

    jetzt wird auch bei neu angelegten Artikeln die HAN gleich übertragen.

    Gruß
    Waldemar

    [EDIT Tomcraft 20.12.2020: Hinweis von zub mit eingefügt.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Das könnten wir eigentlich auch gleich mit in die Schnittstelle integrieren, oder? Das funktioniert ja optional und nicht verbindlich. ;-)

    Grüße

    Torsten

    zub

    • Schreiberling
    • Beiträge: 401
    Hallo,
    kleine Ergänzung zu der Anleitung von Iamex, dabei wird die HTN erst beim Update übertragen, bei neu angelegten Artikeln passiert erstmal gar nichts.

    Dazu folgende Änderung:

    In jtlwawi_connector\dbeS\Artikel.php z. 106 das:

    Code: PHP  [Auswählen]
    eS_execute_query("insert into products (products_shippingtime, $products_statpage_piece products_model, products_price, products_tax_class_id, products_quantity, products_ean, products_weight, manufacturers_id, product_template, options_template, products_status, products_date_added) values ($shipping_status,".$products_statpage_piece_value."\"".$artikel->cArtNr."\",".$artikel->fVKNetto.",$products_tax_class_id,$artikel->nLagerbestand,\"".$artikel->cBarcode."\",$artikel->fGewicht,$manufacturers_id,\"".$einstellungen->prod_product_template."\",\"".$einstellungen->prod_options_template."\",1,now())");

    durch das ersetzen

    Code: PHP  [Auswählen]
    eS_execute_query("insert into products (products_shippingtime, $products_statpage_piece products_model, products_price, products_tax_class_id, products_quantity, products_ean, products_manufacturers_model, products_weight, manufacturers_id, product_template, options_template, products_status, products_date_added) values ($shipping_status,".$products_statpage_piece_value."\"".$artikel->cArtNr."\",".$artikel->fVKNetto.",$products_tax_class_id,$artikel->nLagerbestand,\"".$artikel->cBarcode."\",\"".$artikel->cHAN."\",$artikel->fGewicht,$manufacturers_id,\"".$einstellungen->prod_product_template."\",\"".$einstellungen->prod_options_template."\",1,now())");

    jetzt wird auch bei neu angelegten Artikeln die HAN gleich übertragen.

    Gruß
    Waldemar

    Boarder

    • Neu im Forum
    • Beiträge: 5
    BUGFIX bei doppelten Artikelnamen:

    Hallo zusammen, ich habe gerade den den JTL-Connector getestet und mir ist aufgefallen, dass es mit - den SEO-Bild-Namen - ein Problem bei gleichen Artikelnamen gibt. Genauer gesagt haben beide Artikel dann das selbe Bild. Um dies zu umgehen habe ich

    Code: PHP  [Auswählen]
    $bildname=$productname."-".(intval($_POST['nNr'])-1).".";

    in das geändert:

    Code: PHP  [Auswählen]
    $bildname=$productname."-".(intval($_POST['nNr'])-1)."-".$products_id.".";

    Grüße Boarder

    [EDIT Tomcraft 24.01.2011: Fix in SEO-Bildnamen Anleitung übernommen und in Beitrag 1 verlinkt.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Dankeschön für den Fix! ich habe das entsprechend in den Beiträgen geändert!

    Grüße

    Torsten

    larsos

    • Neu im Forum
    • Beiträge: 18
    Hallo liebes Forum,
    ich habe eine Frage zu den PNG oder GIF Bildern mit transparent. Kann es sein das die Bilder einen schwarzen Hintergrund haben? Wenn ich die Bilder ohne der Wawi einfüge, ist der Hintergrund transparent aber mit der Wawi leider schwarz. In der Datei jtlwawi_connector/dbeS/setArtikelBild.php ist auch kein transparent deklariert. Greift der Connector eigentlich auf die image_manipulator_GD2.php zu?

    Gruß Larsos

    saschadd

    • Neu im Forum
    • Beiträge: 4
    Hallo und vielen Dank für die genial erweiterte Schnittstelle zwischen JTL-Wawi und XTC.

    Ich habe die setArtikelBild.php in meinen Connector-Ordner kopiert und
    die Datei noch um

    Code: PHP  [Auswählen]
    $bildname=$productname."_".(intval($_POST['nNr'])-1).$products_id.".";
     
    wie Boarder oben beschrieben hat, geändert.

    Der Connector wandelt zwar jetzt wunderbar die Dateinamen um, aber vergisst die Datei-Endung anzuhängen. Ich habe lauter Dateien ohne Endung auf dem Server liegen. :(

    Hier mal der Ausschnitt aus der setArtikelBild.php

    Code: PHP  [Auswählen]
    //hole einstellungen
                    $cur_query = eS_execute_query("select * from eazysales_einstellungen");
                    $einstellungen = mysql_fetch_object($cur_query);
                    //hole artikelnamen
                    $cur_query = eS_execute_query("select products_name from products_description where products_id=".$products_id." and language_id=".$einstellungen->languages_id);
                    $product = mysql_fetch_object($cur_query);
                    //ersetze sonderzeichen und alles kleinmachen
                    $productname = $product->products_name;
                    $search_array =  array('ä',  'Ä',  'ö',       'Ö',  'ü',  'Ü',  'ä', 'Ä', 'ö', 'Ö', 'ü', 'Ü', 'ß', 'ß',  'è', 'é', 'ê', 'à', 'â', 'á', 'É', 'È', 'Ê', 'Á', 'À', 'Â', '&');
                    $replace_array = array('ae', 'Ae', 'oe', 'Oe', 'ue', 'Ue', 'ae',     'Ae',     'oe',     'Oe',     'ue',     'Ue',     'ss',      'ss', 'e', 'e', 'e', 'a', 'a', 'a', 'E', 'E', 'E', 'A', 'A', 'A', 'und');
                    $productname = str_replace($search_array,$replace_array,$productname);
                    $productname = strtolower($productname);
                    $replace_param = '/[^a-zA-Z0-9]/';
                    $productname = preg_replace($replace_param,'-',$productname);
                    $productname = substr($productname, 0, 57);

    // BOF - Tomcraft - 2010-08-12 - GIF/JPG/PNG enhancement - forum.jtl-software.de/xt-commerce/6908-bilder-aus-jtl-wawi-erscheinen-nicht-im-shop-2.html
         $bildname=$productname."_".(intval($_POST['nNr'])-1).$products_id.".";
                            if (intval($_POST['nNr'])==1 || $additional_pics->configuration_value>=intval($_POST['nNr'])-1)
                            {
                                    $bildinfo = getimagesize ( $_FILES['bild']['tmp_name'] );
                                    if($bildinfo[2] == "2")
                                    {
                                            $type = "jpg";
                                            move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                            chmod (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type, 0644);
                                            $im = @imagecreatefromjpeg (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                    }
                                    if($bildinfo[2] == "1")
                                    {
                                            $type = "gif";
                                            move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                            chmod (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type, 0644);
                                            $im = @imagecreatefromgif (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                    }
                                    if($bildinfo[2] == "3")
                                    {
                                            $type = "png";
                                            move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                            chmod (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type, 0644);
                                            $im = @imagecreatefrompng (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                    }

                                    if ($im)
                                    {
                                            //bild skalieren
                                            list($width, $height) = getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname.$type);
                                            $ratio = $width / $height;

                                            //thumbnail
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_THUMBNAIL_WIDTH\"");
                                            $width_obj = mysql_fetch_object($cur_query);
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_THUMBNAIL_HEIGHT\"");
                                            $height_obj = mysql_fetch_object($cur_query);
                                            $new_width = 120;
                                            if ($width_obj->configuration_value>0)
                                                    $new_width = $width_obj->configuration_value;
                                            $new_height = round ($new_width / $ratio);
                                            if ($new_height>$height_obj->configuration_value)
                                            {
                                                    $new_height=$height_obj->configuration_value;
                                                    $new_width = round ($new_height * $ratio);
                                            }
                                            $image_p = imagecreatetruecolor($new_width, $new_height);
                                            imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

                                            switch($type)
                                            {
                                                    case "jpg":
                                                    imagejpeg($image_p, DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname.$type);
                                                    break;

                                                    case "gif":
                                                    imagegif($image_p, DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname.$type, 80);
                                                    break;

                                                    case "png":
                                                    imagepng($image_p, DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname.$type);
                                                    break;
                                            }

                                            chmod (DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname.$type, 0644);

                                            //info
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_INFO_WIDTH\"");
                                            $width_obj = mysql_fetch_object($cur_query);
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_INFO_HEIGHT\"");
                                            $height_obj = mysql_fetch_object($cur_query);
                                            $new_width = 200;
                                            if ($width_obj->configuration_value>0)
                                                    $new_width = $width_obj->configuration_value;
                                            $new_height = round ($new_width / $ratio);
                                            if ($new_height>$height_obj->configuration_value)
                                            {
                                                    $new_height=$height_obj->configuration_value;
                                                    $new_width = round ($new_height * $ratio);
                                            }
                                            $image_p = imagecreatetruecolor($new_width, $new_height);
                                            imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                                            switch($type)
                                            {
                                                    case "jpg":
                                                    imagejpeg($image_p, DIR_FS_CATALOG_INFO_IMAGES.$bildname.$type);
                                                    break;

                                                    case "gif":
                                                    imagegif($image_p, DIR_FS_CATALOG_INFO_IMAGES.$bildname.$type, 80);
                                                    break;

                                                    case "png":
                                                    imagepng($image_p, DIR_FS_CATALOG_INFO_IMAGES.$bildname.$type);
                                                    break;
                                            }

                                            chmod (DIR_FS_CATALOG_INFO_IMAGES.$bildname.$type, 0644);

                                            //popup
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_POPUP_WIDTH\"");
                                            $width_obj = mysql_fetch_object($cur_query);
                                            $cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"PRODUCT_IMAGE_POPUP_HEIGHT\"");
                                            $height_obj = mysql_fetch_object($cur_query);
                                            $new_width = 300;
                                            if ($width_obj->configuration_value>0)
                                                    $new_width = $width_obj->configuration_value;
                                            $new_height = round ($new_width / $ratio);
                                            if ($new_height>$height_obj->configuration_value)
                                            {
                                                    $new_height=$height_obj->configuration_value;
                                                    $new_width = round ($new_height * $ratio);
                                            }
                                            $image_p = imagecreatetruecolor($new_width, $new_height);
                                            imagecopyresampled($image_p, $im, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
                                            switch($type)
                                            {
                                                    case "jpg":
                                                    imagejpeg($image_p, DIR_FS_CATALOG_POPUP_IMAGES.$bildname.$type);
                                                    break;

                                                    case "gif":
                                                    imagegif($image_p, DIR_FS_CATALOG_POPUP_IMAGES.$bildname.$type, 80);
                                                    break;

                                                    case "png":
                                                    imagepng($image_p, DIR_FS_CATALOG_POPUP_IMAGES.$bildname.$type);
                                                    break;
                                            }

                                            chmod (DIR_FS_CATALOG_POPUP_IMAGES.$bildname.$type, 0644);
    // EOF - Tomcraft - 2010-08-12 - GIF/JPG/PNG enhancement - forum.jtl-software.de/xt-commerce/6908-bilder-aus-jtl-wawi-erscheinen-nicht-im-shop-2.html
               
    anything