Medien Link aufbauen

Hallo,

Wenn man in den Medien eine Datei hochlädt kann man dort per klick auf Link kopieren den Link kopieren, doch gibt es eine möglichkeit den Link zu bekommen alleine durch den namen der Datei?
Ich muss innerhalb des Codes Links verweisen und habe dazu den Namen der Datei aber nicht den vollen Link.

Vielen Dank schonmal

Wo genau möchtest du das einbinden? Im Normalfall gibt es bei Produkten etc. eine Medienauswahl bei der du bestehende Medien auswählen kannst.

Bei den Produkten habe ich einen weiteren Reiter angelegt (Beschreibungen, Bewertungen, Dateien) und im Reiter Dateien sollen gewisse Dokumente (PDF Dateien) zu den Artikeln hinterlegt werden.

Der erste Gedanke war es, ein zusatzfeld bei den Artikeln zuhinterlegen wo jeweils der Link gespeichert ist zu der PDF-Datei und diesen innerhalb der Twigfile in einem <a href="{{ page.product.customFields.Datasheet }}>datasheet zu verlinken. Dazu müsste ich aber wissen wie der Link aufgebaut wird damit wir diesen beim überspielen der Produkte direkt in dem Zusatzfeld richtig hinterlegen können.

Ich habe eben gesehen das es eine Feldform der Zusatzfelder gibt bei welchem Medien hinterlegt werden können doch wenn ich diesen dann innerhalb der Twigfile aufrufe wird mir nur ein Hashwert ausgegeben.

Wenn du im Zusatzfeld den Typ Medien auswählst wird kein Hash sonder die UUID (also der Identifier) des Mediums hinterlegt. Du müsstest dann mit einer Funktion aus diesem das Bild laden. Das geht dann aber schon in die Richtung Entwicklung.

Am einfachsten ist natürlich wenn der Link vollständig in das Feld eingegeben wird. Da die Bilder / Dateien in gehashten Unterordnern abgelegt werden gibts auch kein Schema-F was man nutzen kann.

Gibt es dann eine möglichkeit annhand der UUID den Link auszulesen (Also den den man bei Medien per Link kopieren kopieren kann)?

Die Möglichkeit den Link bei den Artikeln zu hinterlegen ist also nur händisch möglich da man es kein Schema gibt.

Natürlich ist sowas grundsätzlich möglich, das geht aber in Richtung Programmierung einer Erweiterung.

Die Grundlagen findest du hier: Extensions - Shopware Developer

Wie du genau vorzugehen hast kann ich dir aber leider nicht sagen, da ich auch kein Entwickler bin. Im Standard kannst du in diesem Fall nur händisch den Link kopieren.

Hallo,

du suchst wahrscheinlich diese Shopware 6 - Dokumentation: Using custom fields of type media - Shopware Developer .

Grüße

Sebastian

Was spricht dagegen, die Dokumente außerhalb von shopware auf einen Webserver (mit einer dir dann bekannten url) zu legen und diese url als Zusatzfeld zum Artikel abzulegen?

Das Problem hierbei ist das unser Server admin da nicht mit macht und wir wieder im ERP system die Links händisch einpflegen müssten. Beim übertragen der Dateien ins Shopware System wollen wir die Links automatisch bei den Artikeln hinterlegen das niemand mehr händisch die 9000 Produkte durchgehen muss.

Wenn du die UUID hast, kannst du über die api die url ermitteln:

POST api/search/media
{„ids“:„1277401191589fccad889a75d2a1e807“,„page“:1,„limit“:25,„total-count-mode“:1}

unter attributes/url