Änderungen des Connectors für die Contrib MoPic

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Das müssten die Änderungen in der setartikelbild.php sein, weiter unten folgt Artikelpic.php

GILT nur für die MoPics Contri


Code:
<?php
/**
 * jtlwawi_Connector/dbeS/setArtikelBild.php
 * Synchronisationsscript
 *
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/jtlwawi.php[/url]
 *
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/jtlwawi.php[/url]
 * @version v1.02 / 20.08.06
*/

require_once("syncinclude.php");



$return=3;
$_POST['userID'] = $_POST['euser'];
$_POST['userPWD'] = $_POST['epass'];
if (auth())
{
	$return=0;
	    $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
		$verzeich = getProdidKategorie($products_id);
		$working_directory = DIR_FS_CATALOG_IMAGES . $verzeich;
        if (!is_dir($working_directory)) {
                   mkdir($working_directory, 0777, 1);
                    chmod($working_directory, 0755); // Change to suit server needs, depending on directory owner
                   }

	//nur BildNr 1 wird berücksichtigt
	if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==1 && $_FILES['bild'])
	{
		//hol products_id
		$products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
		if ($products_id>0)
		{
			$bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
			move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
			chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

			//updaten
			eS_execute_query("update products set products_image=\"$bildname\" where products_id=".$products_id);
		}
	}
	if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==2 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage1=\"$bildname\" where products_id=".$products_id);
      }
   }
         if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==3 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage2=\"$bildname\" where products_id=".$products_id);
      }
   }
         if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==4 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage3=\"$bildname\" where products_id=".$products_id);
      }
   }
         if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==5 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage4=\"$bildname\" where products_id=".$products_id);
      }
   }
         if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==6 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage5=\"$bildname\" where products_id=".$products_id);
      }
   }
         if (intval($_POST['kArtikelBild'])>0 && intval($_POST['nNr'])==7 && $_FILES['bild'])
   {
      //hol products_id
      $products_id = getFremdArtikel(intval($_POST['kArtikelBild']));
      if ($products_id>0)
      {
         $bildname=$verzeich."/".$products_id."_".(intval($_POST['nNr'])-1).".jpg";
         move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_IMAGES.$bildname);
         chmod (DIR_FS_CATALOG_IMAGES.$bildname, 0644);

         //updaten
         eS_execute_query("update products set products_subimage6=\"$bildname\" where products_id=".$products_id);
      }
   }
}
mysql_close();
echo($return);
logge($return);

?>

Und hier die für die ArtikelPic.php

Code:
<?php
/**
 * jtlwawi_Connector/dbeS/ArtikelPict.php
 * Synchronisationsscript
 *
 * Es gelten die Nutzungs- und Lizenzhinweise unter [url]http://www.jtl-software.de/jtlwawi.php[/url]
 *
 * @author JTL-Software <thomas@jtl-software.de>
 * @copyright 2006, JTL-Software
 * @link [url]http://jtl-software.de/jtlwawi.php[/url]
 * @version v1.01 / 20.08.06
*/

require_once("syncinclude.php");
$picpath = "../catalog/images/";
$return=3;
if (auth())
{
	$return=0;
/*	$ArtikelPict = new ArtikelPict();
	if (intval($_POST["action"]) == 1 && $ArtikelPict->setzePostDaten())
	{
		$oldArtikelPict = new ArtikelPict();
		$oldArtikelPict->loadFromDB($ArtikelPict->kArtikel);

		$GLOBALS["DB"]->executeQuery("DELETE from tartikelpict where kArtikel=".$ArtikelPict->kArtikel,4);

		if ($ArtikelPict->insertInDB())
			$return = 0;
		else
			$return = 1;

		//gibt es alte Bilder zum löschen?
		if ($oldArtikelPict->cPfad1 && !$ArtikelPict->cPfad1)
		{
			//bild nr 1 existiert nicht mehr. im fs löschen
			if (file_exists($picpath.$oldArtikelPict->cPfad1))
			{
				unlink($picpath.$oldArtikelPict->cPfad1);
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad1, 0, -4).'-m.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad1, 0, -4).'-m.jpg');
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad1, 0, -4).'-s.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad1, 0, -4).'-s.jpg');
			}
		}
		if ($oldArtikelPict->cPfad2 && !$ArtikelPict->cPfad2)
		{
			//bild nr 2 existiert nicht mehr. im fs löschen
			if (file_exists($picpath.$oldArtikelPict->cPfad2))
			{
				unlink($picpath.$oldArtikelPict->cPfad2);
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad2, 0, -4).'-m.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad2, 0, -4).'-m.jpg');
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad2, 0, -4).'-s.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad2, 0, -4).'-s.jpg');
			}
		}
		if ($oldArtikelPict->cPfad3 && !$ArtikelPict->cPfad3)
		{
			//bild nr 3 existiert nicht mehr. im fs löschen
			if (file_exists($picpath.$oldArtikelPict->cPfad3))
			{
				unlink($picpath.$oldArtikelPict->cPfad3);
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad3, 0, -4).'-m.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad3, 0, -4).'-m.jpg');
				if (file_exists(substr($picpath.$oldArtikelPict->cPfad3, 0, -4).'-s.jpg'))
					unlink(substr($picpath.$oldArtikelPict->cPfad3, 0, -4).'-s.jpg');
			}
		}

		//bilder skalieren
		if($ArtikelPict->cPfad1 && file_exists($picpath . $ArtikelPict->cPfad1))
		{
			$picbig = $picpath . $ArtikelPict->cPfad1;
			$picmedium = substr($picpath . $ArtikelPict->cPfad1, 0, -4).'-m.jpg';
			$picsmall = substr($picpath . $ArtikelPict->cPfad1, 0, -4).'-s.jpg';
			$image = imagecreatefromjpeg($picbig);
			list($width, $height) = getimagesize($picbig);
			$ratio = $width / $height;

			//thumbnail
			$new_width = 80;
			$new_height = round (80 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picsmall, 80);

			//medium
			$new_width = 210;
			$new_height = round (210 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picmedium, 80);

			//groß
			$new_width = 800;
			$new_height = round (800 / $ratio);
			if ($width>$new_width || $height>$new_height)
			{
				$image_p = imagecreatetruecolor($new_width, $new_height);
				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
				imagejpeg($image_p, $picbig, 100);
			}
		}

		if( $ArtikelPict->cPfad2 && file_exists($picpath . $ArtikelPict->cPfad2))
		{
			$picbig = $picpath . $ArtikelPict->cPfad2;
			$picmedium = substr($picpath . $ArtikelPict->cPfad2, 0, -4).'-m.jpg';
			$picsmall = substr($picpath . $ArtikelPict->cPfad2, 0, -4).'-s.jpg';
			$image = imagecreatefromjpeg($picbig);
			list($width, $height) = getimagesize($picbig);
			$ratio = $width / $height;

			//thumbnail
			$new_width = 80;
			$new_height = round (80 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picsmall, 100);

			//medium
			$new_width = 210;
			$new_height = round (210 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picmedium, 100);

			//medium
			$new_width = 800;
			$new_height = round (800 / $ratio);
			if ($width>$new_width || $height>$new_height)
			{
				$image_p = imagecreatetruecolor($new_width, $new_height);
				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
				imagejpeg($image_p, $picbig, 100);
			}
		}

		if( $ArtikelPict->cPfad3 && file_exists($picpath . $ArtikelPict->cPfad3))
		{
			$picbig = $picpath . $ArtikelPict->cPfad3;
			$picmedium = substr($picpath . $ArtikelPict->cPfad3, 0, -4).'-m.jpg';
			$picsmall = substr($picpath . $ArtikelPict->cPfad3, 0, -4).'-s.jpg';
			$image = imagecreatefromjpeg($picbig);
			list($width, $height) = getimagesize($picbig);
			$ratio = $width / $height;

			//thumbnail
			$new_width = 80;
			$new_height = round (80 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picsmall, 100);

			//medium
			$new_width = 210;
			$new_height = round (210 / $ratio);
			$image_p = imagecreatetruecolor($new_width, $new_height);
			imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
			imagejpeg($image_p, $picmedium, 100);

			//medium
			$new_width = 800;
			$new_height = round (800 / $ratio);
			if ($width>$new_width || $height>$new_height)
			{
				$image_p = imagecreatetruecolor($new_width, $new_height);
				imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
				imagejpeg($image_p, $picbig, 100);
			}
		}
 	}
	else
		$return=5;
	*/
	if (intval($_POST["action"]) == 3 && intval($_POST['KeyArtikel'])>0)
	{
		$return =0;
		//hol products_id
		$products_id = getFremdArtikel(intval($_POST['KeyArtikel']));
		if ($products_id>0)
		{
			eS_execute_query("update products set products_image='' where products_id=".$products_id);
		}
	 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage1='' where products_id=".$products_id); 
      } 
                 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage2='' where products_id=".$products_id); 
      } 
                 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage3='' where products_id=".$products_id); 
      } 
                 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage4='' where products_id=".$products_id); 
      } 
                 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage5='' where products_id=".$products_id); 
      } 
                 if ($products_id>0) 
      { 
         eS_execute_query("update products set products_subimage6='' where products_id=".$products_id); 
      } 
	}
}

mysql_close();
echo($return);
//logge($return);
?>
 

lostmail

Aktives Mitglied
28. Februar 2007
199
0
Habs in den JTL-Wawi Connector für osCommerce v0.998 reinkopiert und mal einen neuen Artikel mit Bildern angelegt und an den Shop geschickt.

Im Shop wird aber kein Bild dazu angezeigt.

Ne idee ?
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
http://www.oscommerce.com/community/contributions,1611/category,all/search,more+pics

das is die contri. funktioniert einwandfrei.

Du hast die Bilder im wawi nihct nur hinzugefügt sondern auch zugeordnet ?

Ansonsten check mal die Verzeichnisrechte auf dem ftp. Müssen glaube ich auf 755 stehen für das image verzeichnis, ansonsten kann er nichts erstellen / anlegen.

Schau mal in die Datenbank Tabelle products ob die spalten products_subimage1-6 angelegt sind und ob Du evtl. im catalog Admin
die Einstellungen für Morepics nicht korrekt konfiguriert hast.

Grüsse Frank
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Die von Dir genannten Inhalte sind nicht Standard bei der More Pics Contribution.

products_image
products_bimage
products_subimage1
products_bsubimage1
products_subimage2
...

Original beinhaltet die Contribution nur die Spalten products_subimage, nicht jedoch die products_bsubimage oder products_bimage.

Die sehen eher nach der Contrib big images aus.

Du kannst mal probieren die update sequenzen zu ändern (siehe Beispiel

Code:
eS_execute_query("update products set products_subimage1=\"$bildname\" where products_id=".$products_id);

ersetzen durch

Code:
eS_execute_query("update products set products_subimage1=\"$bildname\", products_bsubimage1=\"$bildname\" where products_id=".$products_id);
 

Straßendealer

Aktives Mitglied
15. Februar 2008
106
0
Hallo,

ich versuche den bereits vorhandenen Webshop mit JTL-Wawi zu nutzen. Bei meinem osCommerce habe ich die Contrib MoPics installiert und dementsprechend auch die o.g. Anpassungen durchgeführt.

Führe ich jetzt allerdings einen Webshopabgleich über das Wawi durch kommt immer eine Fehlermeldung:

http://www.klp24.de/images/ebay/fehler.jpg

Kann mir vielleicht jemand sagen, was da schief läuft?
 
Zuletzt von einem Moderator bearbeitet:

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Hm,

die Funktion getProdidKategorie ist eigentlich in der syninclude.php definiert. Oder hab ich die selber da reingesetzt - verwirrt bin.

Füge bitte den Code

Code:
function getProdidKategorie($eS_key)
{
	$cur_query = eS_execute_query("select categories_id from products_to_categories where products_id=".$eS_key);
	$ergeb = mysql_fetch_object($cur_query);
	return $ergeb->categories_id;
}

in die syninclude.php in den Bereich wo die FUnktionen deklariert sind ein und probier es dann nochmal
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
die setartikelbild.php prüft zuerst ob ein Verzeichnis mit der Artikelkategorie-Nummer besteht und wenn es eben nicht besteht soll mittels mkdir ein verzeichis mit der Nummer erstellt werden. Danach werden mittels chmod die rechte für das verzeichnis gesetzt. kann sein das deine php version keine recursive verzeichniserstellung unterstützt.
probier mal

Code:
mkdir($working_directory, 0777, 1);
mit
Code:
mkdir($working_directory, 0777);

zu ersetzen.
 

Straßendealer

Aktives Mitglied
15. Februar 2008
106
0
Diese Änderung hat das Problem o.g. Problem behoben. Und es kommt keine Fehlermeldung mehr. Allerdings werden die bereits in der Wawi enthaltenen Artikel nicht um ihre im Webshop eventuell vorhandenen mehrere Bilder aktualisiert. Merkwürdig?!
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Hallöchen,

schön wenns denn jetzt klappt ;)

den letzten Satz versteh ich allerdings jetzt nicht ?!

Meinst Du, das Du Bilder, die schon im shop integriert waren sich nun nicht in der Wawi befinden ?!

Das wäre insoweit richtig da die Wawi dir VErwaltung komplett übernimmt und die Bildinformationen aber nicht kennen kann.
 

Straßendealer

Aktives Mitglied
15. Februar 2008
106
0
Ja genau, das meinte ich. Aber wenn das so korrekt ist ja gut.

Wenn, ich jetzt noch die Kunden aus dem Shop übernehmen könnte, wäre ich sehr zufrieden. Da wird mir nämlich keine Verbindung angezeigt
 

shetani

Aktives Mitglied
28. Februar 2007
226
0
Essen
Zu den Bildern, ich würde die bei den betroffenen Artikeln, wenn es nicht zu viele sind, einmal in der Wawi richtig anlegen und organisieren. Dann haste damit in Zukunft keine Probleme mehr.

Bei den Kunden .. musste mal nen Thread aufmachen ... da kann ich dir nicht helfen.

Schönen Rest vom Wochenende
Frank
 
Ähnliche Themen
Titel Forum Antworten Datum
Tipps für effiziente Änderungen bestehender Artikel JTL-Wawi 1.7 2
Neu Im Shop-Backend vorgenommene Änderungen können nicht mehr automatisiert abgeglichen werden und führen somit zu Datenverlust. Shopware-Connector 0
Neu [Entwarnung] ACHTUNG: JTL Shop 5.3.3 | Nach Update des JTL PayPal Commerce Plugins kein Backend mehr verfügbar (FATAL ERROR) Installation / Updates von JTL-Shop 2
Neu Kumulierte Menge der Artikelpositionen vor dem Speichern des Auftrags einsehen Eigene Übersichten in der JTL-Wawi 0
Korrektur Name des Absenders bei Anforderung der Bestätigung der E-Mail-Adresse Einrichtung JTL-Shop5 1
Neu SQL Code zur Ausgabe des Verkaufspreis je Kundengruppe User helfen Usern 1
Erzeugung des Barcodes für die Gebinde EAN JTL-Wawi 1.9 3
Gelöst iMin Swan 1 Pro Kundendisplay zeigt nur verkleinerte 1:1 Kopie des kompletten Hauptbildschirmes JTL-POS - Fragen zu Hardware 3
Teile des Artikelnamens Farblich hervorheben JTL-Wawi 1.9 2
Neu Update auf 1.9 - wo sind die Kommentarfelder des Artikels geblieben? Eigene Übersichten in der JTL-Wawi 1
Neu Nach dem entfernen des PayPal Checkout werden keine Zahlungsarten anderer Anbieter angezeigt. JTL-Shop - Fehler und Bugs 4
Fehler beim Update des Mandaten easybusiness JTL-Wawi 1.9 2
Neu Auflösung & Skalierung des Userinterfaces User helfen Usern - Fragen zu JTL-Wawi 1
Retoure - Buchen des Artikels JTL-Wawi 1.7 7

Ähnliche Themen