Offen Bildernamen umschreiben funktioniert nicht

saschadd

Gut bekanntes Mitglied
28. November 2006
158
4
Hallo,

ich habe laut diesem Beitrag http://forum.jtl-software.de/geloeste-themen-xt-commerce/7093-bildernamen-umschreiben.html versucht die setArtikelBild.php umzuschreiben.
Leider klappt das irgendwie nicht. Leider ist der komplette Code nicht in dem Beitrag zu finden, was recht hilfreich wäre.
Vielleicht könnte bei der Gelegenheit jemand noch erklären wie man das "Man sollte noch mit str_replace Sonderzeichen und Co. ändern" gleich mit einbauen könnte.

Danke und Gruß Sascha


Inhalt meiner setArtikelBild.php:


<?php
/**
* jtlwawi_connector/dbeS/setArtikelBild.php
* Synchronisationsscript
*
* Es gelten die Nutzungs- und Lizenzhinweise unter JTL-Wawi: JTL Software
*
* @author JTL-Software <thomas@jtl-software.de>
* @copyright 2006, JTL-Software
* @link JTL-Wawi: JTL Software
* @version v1.03 / 20.08.06
*/

require_once("syncinclude.php");

$return=3;
$_POST['userID'] = $_POST['euser'];
$_POST['userPWD'] = $_POST['epass'];
if (auth())
{
$return=0;
//nur BildNr 1 wird berücksichtigt
if (intval($_POST['kArtikelBild'])>0 && $_FILES['bild'])
{
//hol Anzahl unterstützter Bidler
$cur_query = xtc_db_query("select configuration_value from configuration where configuration_key=\"MO_PICS\"");
$additional_pics = mysql_fetch_object($cur_query);

//hol products_id
$products_id = getFremdArtikel(intval($_POST['kArtikelBild']));

//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);

if ($products_id>0)
{
$ng_products_name_raw = $_POST["ArtikelName"];
$ng_products_name = cleanImgName($ng_products_name_raw);

$bildname=$ng_products_name.'_'.$products_id."_".(intval($_POST['nNr'])-1).".jpg";
if (intval($_POST['nNr'])==1 || $additional_pics->configuration_value>=intval($_POST['nNr'])-1)
{
move_uploaded_file($_FILES['bild']['tmp_name'],DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname);
chmod (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname, 0644);

$im = @ImageCreateFromJPEG (DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname);
if ($im)
{
//bild skalieren
list($width, $height) = getimagesize(DIR_FS_CATALOG_ORIGINAL_IMAGES.$bildname);
$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);
imagejpeg($image_p, DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname, 80);
chmod (DIR_FS_CATALOG_THUMBNAIL_IMAGES.$bildname, 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);
imagejpeg($image_p, DIR_FS_CATALOG_INFO_IMAGES.$bildname, 80);
chmod (DIR_FS_CATALOG_INFO_IMAGES.$bildname, 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);
imagejpeg($image_p, DIR_FS_CATALOG_POPUP_IMAGES.$bildname, 80);
chmod (DIR_FS_CATALOG_POPUP_IMAGES.$bildname, 0644);


//updaten
if (intval($_POST['nNr'])==1)
eS_execute_query("update products set products_image=\"$bildname\" where products_id=".$products_id);
else
{
//lösche evtl. alten Eintrag
eS_execute_query("delete from products_images where products_id=$products_id and image_nr=".(intval($_POST['nNr'])-1));
eS_execute_query("insert into products_images (products_id, image_nr, image_name) values ($products_id, ".(intval($_POST['nNr'])-1).", \"".$bildname."\")");
}
}
}
}
}
}
mysql_close();
echo($return);
logge($return);

?>
 

saschadd

Gut bekanntes Mitglied
28. November 2006
158
4
AW: Bildernamen umschreiben funktioniert nicht

Leider kann ich den Beitrag nicht editieren, bzw. finde ich die Funktion nicht.
Die ganze Datei zu posten war nicht sonderlich clever, deswegen hier nochmal den Teil, den ich geändert :bzw. eingefügt habe:

Vieleicht kann mir da eher jemand helfen.

//hol products_id
$products_id = getFremdArtikel(intval($_POST['kArtikelBild']));

//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);

if ($products_id>0)
{
$ng_products_name_raw = $_POST["ArtikelName"];
$ng_products_name = cleanImgName($ng_products_name_raw);

$bildname=$ng_products_name.'_'.$products_id."_".( intval($_POST['nNr'])-1).".jpg";
 

testjo

Sehr aktives Mitglied
AW: Bildernamen umschreiben funktioniert nicht

Vielleicht in xtc modified forum auf jtl wawi connector und oder setartikelbild.php suchen.
Weiss nicht ob die richtig ist aber vergleichen ?
 

saschadd

Gut bekanntes Mitglied
28. November 2006
158
4
AW: Bildernamen umschreiben funktioniert nicht

Hallo,

leider funktioniert die Umschreiberei immer noch nicht so recht.

Kann man die Bildübertragung auch so anpassen, dass die Bildernamen überhaupt nicht umgeschrieben werden und die bilder so hochgeladen werden wie sie eben heißen?
Wir haben unsere Bilder schon aussagekräftig benannt und möchten sie eigentlich so hochladen wie sie eben heißen.

Wenn der Produktname zu lang ist gibt es ja wahrscheinlich auch Probleme mit dem Bildnamen, dass dieser an einer bestimmten (möglicherweise unerwünschten) Stelle abgeschnitten wird. Oder irre ich mich da?
 

ludichef

Gut bekanntes Mitglied
19. April 2010
123
2
AW: Bildernamen umschreiben funktioniert nicht

Hallo,
ich wäre da auch mal ein einer Anleitung interessiert. Am Thread steht zwar gelöst aber erklärt wird dort gar nichts.
Und wenn ich es nach meinem besten Wissen einbaue klappst nicht.
Wäre also gut wenn da nochmal jemand eine Zusammenfassung/Anleitung machen könnte.

Gruß,Christopher
 

Katja

Aktives Mitglied
5. Februar 2009
45
0
AW: Bildernamen umschreiben funktioniert nicht

Wir haben dasselbe Problem. Wir wollen dass die Bilder weiterhin so heißen, wie sie ursprünglich hießen.
 

Frank1609

Guest
AW: Bildernamen umschreiben funktioniert nicht

Gibt es da mittlerweile eine Lösung?

Ich habe mir vor der Installation der WAWI extra zu jeder Kategorie/Unterkategorie die entsprechenden Ordner auf meiner Festplatte angelegt um dann die dazugehörigen Bilder mit der Bezeichnung dort abzuspeichern.
Die ganze Arbeit war ja damit leider umsonst und jetzt (nach der Anbindung der WAWI) habe ich wie sicherlich alle Anderen auch lediglich die Artikelnummern als Bezeichnung der Bilder.

Dies führt gerade bei der Bildersuche über google leider auch zu extrem schlechten Ergebnissen.

Für eine Userfreundliche und in dieser Sache Anfängerverständliche Lösung wäre ich dankbar.

Gruß

frank1609
 

chris99

Aktives Mitglied
3. Oktober 2007
173
0
AW: Bildernamen umschreiben funktioniert nicht

Leider kann ich den Beitrag nicht editieren, bzw. finde ich die Funktion nicht.
Die ganze Datei zu posten war nicht sonderlich clever, deswegen hier nochmal den Teil, den ich geändert :bzw. eingefügt habe:

Vieleicht kann mir da eher jemand helfen.

//hol products_id
$products_id = getFremdArtikel(intval($_POST['kArtikelBild']));

//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);

if ($products_id>0)
{
$ng_products_name_raw = $_POST["ArtikelName"];
$ng_products_name = cleanImgName($ng_products_name_raw);

$bildname=$ng_products_name.'_'.$products_id."_".( intval($_POST['nNr'])-1).".jpg";

$ng_products_name_raw = $_POST["ArtikelName"];

Ändern zu

$ng_products_name_raw = $product->products_name
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL 1.10.13 - Beta neue Oberfläche funktioniert nicht JTL-Wawi - Fehler und Bugs 1
Neu Leider funktioniert der Support im Forum nicht so, wie es eigentlich sein soll. JTL-Wawi - Fehler und Bugs 15
GLS-Retourenlabel – Fehler bei Feld 'Name1', obwohl DPD funktioniert JTL-Wawi 1.9 0
In Diskussion Automatisches Ausliefern von Gutschein funktioniert nicht JTL-Workflows - Ideen, Lob und Kritik 2
Neu Metafelder via Attribute funktioniert nicht Shopify-Connector 13
Neu Amazon Abgleich funktioniert nicht User helfen Usern - Fragen zu JTL-Wawi 0
FBA Bestandsabgleich funktioniert nicht JTL-Wawi 1.10 0
Neu DSFinV-K Exportmodul funktioniert nicht... JTL-POS - Fehler und Bugs 0
Neu Artikel Filter laufende eBay Angebot funktioniert nicht - SQL Abfrage User helfen Usern - Fragen zu JTL-Wawi 3
Verkäuferinventar anfordern Otto funktioniert nicht JTL-Wawi 1.10 1
E-Mails werden nicht versandt. Testmail funktioniert "string.Empty'' is not a valid value for ''toAdresses'' JTL-Wawi 1.10 2
In Bearbeitung Workflow funktioniert nicht - Bedingung: Seriennummer JTL-Workflows - Fehler und Bugs 32
Neu Connector funktioniert seit Fehler E-Mail nicht mehr Shopify-Connector 3
Neu DSFinv-k Export funktioniert nicht. JTL-POS - Fehler und Bugs 5
auftragspositionen verschieben funktioniert nicht JTL-Wawi 1.10 1
Neu Connector funktioniert nicht (und täglich grüßt das Murmeltier) Shopify-Connector 2
Neu Der Connector funktioniert plötzlich nicht mehr Shopify-Connector 1
Neu JTL wawi Fehler beim Zugriff auf die Datenbank / Datenbankverwaltung aber funktioniert Installation von JTL-Wawi 3
Neu Update auf 5.4.1. - DB-Update funktioniert nicht Einrichtung von JTL-Shop4 3
Artikelsuche mit % Platzhalter funktioniert nicht mehr JTL-Wawi 1.10 3
Attribute aktualisieren funktioniert nicht JTL-Ameise - Fehler und Bugs 6
Neu Erstabgleich funktioniert nicht Shopify-Connector 5
VCS-Lite Abgleich mit Amazon funktioniert seit 1.10.10.3 nicht mehr und zerstört so die Rate gültiger Sendungsverfolgungsnummern Amazon-Anbindung - Fehler und Bugs 50

Ähnliche Themen