Datenbankexport ohne Plugin mit Bilder-URLs

Hallo zusammen,
ich benötige dringend einen Datenbankexport mit Artikelnummer, Artikelname, Bilder-URL. Da sich in unserem Webshop das Exportmodul nicht installieren lässt (ist ein anderes Thema - wahrscheinlich muss Shopware neu aufgesetzt werden wg. Fehler in der DB/im System), wäre es toll, wenn ich dazu von euch eine passende MySql-Abfrage bekommen könnte, die ich dann bei unserem Hoster in php-MyAdmin direkt eingeben könnte. Ich bin leider kein Spezialist in MySql.
Oder gibt es dazu vielleicht ein php-Script?

Vielen Dank vorab für eure Hilfe.

Hey, warum nicht über die API exportieren? Wär jetzt mein Ansatz, da es schöner geht als über die DB.

Grüße

Hallo, leider weiß ich überhaupt nicht, wie das funktioniert. Könntest du mir das konkret erklären?

Hi,

hol dir die Artikel über die API → Images → Media ID - Media Ressource → Url.
Findest du eigentlich alles gut dokumentiert unter:

So ein Skript sollte in ein paar Minuten programmiert sein :slight_smile:

Grüße

Das ist mir eine Nummer zu hoch, auch wenn ich mich da einlese.
Ich bekomme schon keinen Zugriff auf die API. Den API-Nutzer hab ich angelegt, den Cache gelöscht, jedoch kann ich mich nicht einloggen. Sie reagiert (also hin komme ich), aber erhalte nur die klassische Fehlermeldung.

Und API-Programmierung ist mir total fremd. Leider benötige ich den Export sehr zeitnah und hab noch viele andere Projekte auf dem Tisch, sodass ich mich leider nicht in die API-Programmierung einarbeiten kann.

Gibt es vielleicht eine unaufwändige Möglichkeit, mir die Programmierung zu schreiben mit einer kurzen Erklärung, wohin ich das eingebe und wie ich eine downloadbare CSV erhalte? Ich benötige einen Export der Artikelnummer, der Artikel-ID, des Artikelnamens und der Bild-URL.

Du wirst hier ohne Aufwand nicht zum Ziel kommen.

Warum? Die Bild-URL steht nicht mehr in der Datenbank, sondern wird seit Shopware 5.x mittels MD5 Hash errechnet.

Ohne Dir jetzt alles vorzukauen, hier ein möglicher Lösungsansatz.

SQL Statement:

SELECT
    ad.ordernumber AS Artikelnummer,
    a.name AS Artikelname,
    CONCAT(ai.img, '.', ai.extension) AS Bildename_Ext
FROM
    s_articles a
INNER JOIN
    s_articles_details ad
ON
    a.id = ad.articleID
LEFT JOIN
    s_articles_img ai
ON
    a.id = ai.articleID
WHERE
    ai.main = 1;

Damit bekommst Du Deine Artikelnummer, Artikelnamen und das Artikelbild inkl. der Dateinamenerweiterung.

Die Ermittlung der Bild-URL ist da schon etwas aufwändiger.
PHP Beispiel, musst Du Dir noch selbst anpassen:

$result = $mysqli->query($sql);
				
				if ($result->num_rows > 0) {
					$row = $result->fetch_assoc();
					$imageName = $row['img']; //Bildaname ohne Erweiterung
				
					// Berechnen des MD5-Hashes des Bildpfades
					$imgPathMerged = 'media/image/' . $imageName . '.jpg'; 
					$md5Hash = md5($imgPathMerged);
				
					// Erstellen des vollständigen Bildpfades
					 $imagePathPart = $md5Hash[0] . $md5Hash[1] . '/' . $md5Hash[2] . $md5Hash[3] . '/' . $md5Hash[4] . $md5Hash[5] . '/';
					 // Erstellen der vollständigen Bild-URL auf dem Dateisystem
					// $urlbase = 'https://www.deine-shop-url/';
					$urlbase = 'https://www.demoshop.de/';
    				$imageURL = $urlbase . 'media/image/' . $imagePathPart . $imageName . '.jpg';
					
// echo "<br> Bild-URL des ersten Artikelbildes: " . $imageURL;
					
				} else {
					echo "Kein Bild gefunden.";
				}

Es wäre für Dich wahrscheinlich einfacher, wenn Du Dich darum kümmerst, dass Du das Shopware Import/Export Modul zum Laufen bekommst.

Grüße, Tom

1 „Gefällt mir“

Meine Rede, über die DB wirst du nicht glücklich, entweder API oder noch leichter Import/Export fixen +1

Vielen Dank euch allen … ich komme so nicht weiter und werde nun unseren fehlerhaften Shop lassen wie er ist, da auch ein Shopwarespezialist nicht weiter kam und die Fehlersuche unwirtschaftlich ist. Meine Lösung wird die sein, dass ich nun paralell zum aktuellen Shop, der ja zum Glück im Verkauf problemlos läuft, ein Shopware6-Shop neu aufsetze und dann die Produktdaten über Schnittstelle zur WaWi in den Shop reinsynchronisiere.

Dazu brauche ich aber einen Datenbankexport, der die Kundendaten, Bestelldaten, Kundenlogins, Newsletterdaten etc. beinhaltet. Gibt es eine Möglichkeit, die Shopware5-Daten „einfach“ ins neu aufgesetzte Shopware6 zu importieren?

Hey,

schade. Würde mich mal interessieren warum ein „Spezialist“ da nicht weiter kommt, denn so schwer kann die Aufgabe gar nicht sein.

Ich werd mir das ganze mal ansehen vllt. kann ich dir ja weiterhelfen.
Melde mich per PN später mal.

Über das Migrations Plugin solltest du einiges an Daten rüber schaufeln können von 5 auf 6.

Du kannst die Bilder-URL auch ohne PHP bekommen und alles in SQL erledigen lassen. Irgendwo im Forum steht meine Query.

Wie sieht es einfach mit der Produktexport-Funktion aus, wenn du schon das Import/Export Plugin nicht benutzen kannst? Das Ding generiert uns regelmäßig zuverlässige Artikellisten für alle möglichen Zwecke, definitiv eines von vielen möglichen Lösungen.