Downloadbereich für Dokumente/Tutorials/... ohne Plugin

Gibt es eine Möglichkeit, in Shopware 6 einen Downloadbereich mit bordeigenen Mitteln zu erstellen?

Es geht darum, dass eine größere Anzahl von PDFs angeboten werden sollen als Service (Datenblätter zu Produkten, Tutorials, Katalog, …).

Würde ich mir auch wünschen. Allerdings ist mir dies bisher nicht bekannnt, dass es mit Standard-Onboard-Mitteln funktioniert.

Wir haben aktuell die Möglichkeit, dies über ein Theme machen zu können, was aber nicht 1:1 unseren Wünschen entspricht. Allerdings war dies nie der Kaufgrund für das Theme, sondern es ist nur eine nette Zusatzfunktion, Dokumente hochladen zu können.

Wir arbeiten hier mit Zenit zusammen.

Nabend,

man könnte schon eine Shopseite nach seinen Wünschen erstellen und darin Dokumente usw. verlinken, die innerhalb der Medien liegen und somit einen Download-Bereich aufbauen.

Ich vermute allerdings, dass es Erweiterungen gibt, mit denen das schneller und schöner funktioniert, da man sich in meinem Beispiel immer den Link zur Datei aus den Medien ziehen müsste. Solang das nicht tausende Downloads werden sollen, ist das vermutlich ok.

Möglich ist es auf jeden Fall :slight_smile:

VG Benjamin

1 „Gefällt mir“

Guten Morgen und vielen Dank für eure Rückmeldungen. An eine Shopseite mit Verlinkungen hab ich auch schon gedacht. Allerdings wollte ich vorher abklopfen, ob es im SW6 Bordmittel für einen echten DL-Bereich gibt außer mit kostenpflichtigen Erweiterungen.

Da es nicht hunderte von DLs werden, gehe ich glaube ich erst Mal den Shopseitenweg, evt. mit Unterkategorien für eine Vorauswahl.

1 „Gefällt mir“

Gottseidank ändern sich inzwischen die URLs der Mediendateien nicht mehr :wink:

Hallo,
wir haben das über Zusatzfelder vom Typ Medien gelöste. Es war zwar erforderlich eine kleine Anpassung am Theme vorzunehmen, aber dafür muss man keine Medien Links manuell kopieren und einfügen.

Grüße

Das hört sich vielversprechend an. Leider hab ich (noch) keine Erfahrungen mit Zusatzfeldern. Könntest du beschreiben, wie das genau geht … und welche Themeanpassungen genau erforderlich waren (mit kurzer Beschreibung wie es geht)?
Vielen Dank vorab.

Klar :slight_smile:

  1. Ins Backend einloggen.
  2. Einstellungen → System → Zusatzfelder
  3. Set anlegen
  4. Technischer Name ausfüllen
    4.1 Label könnte sowas wie „Downloadbereich“ sein.
    4.2 Verwenden für: Produkte
  5. Neues Zusatzfeld
    5.1 Typ: Medienfeld
    5.2 Alle anderen Felder ausfüllen
    5.3 Auf Hinzufügen klicken
  6. Speichern

Schritt 5 musst du für alle Mediendokumente wiederholen (Datenblätter, Tutorials, …).

Anschließend gehst du in ein Produkt in den Reiter „Spezifikationen“. Dort gibt es unter Zusatzfelder dann den Downloadbereich. Hier kannst du für jedes Produkt die entsprechenden Dokumente hinzufügen. Sollte es für verschiedene Produkte keine Dokumente, oder nicht alle, geben, wird im Frontend auch nichts ausgegeben. Somit ist der Downloadbereich optional.

Welches Theme nutzt du denn?

1 „Gefällt mir“

Vielen Dank Laudenz,
das werde ich probieren demnächst. Ich nutze das Free Liberty Responsive Theme .

Kannst du mal im Theme Verzeichnis schauen, ob es dort die folgende Datei gibt?

THEME_ROOT/src/Resources/views/storefront/page/product-detail/tabs.html.twig

In dieser Datei könnte man den Downloadbereich erstellen.

Hast du in deinem Shop ein Plugin für Template Anpassungen installiert?

Hallo Laudenz,

kannst du mir deinen Satz nochmal genau erklären? Was heißt" Sollte es für verschiedene Produkte keine Dokumente, oder nicht alle, geben, wird im Frontend auch nichts ausgegeben."

Ich konnte deiner Anleitung sehr gut folgen aber bei mir funktioniert es trotzdem nicht.

LG Matthias

Hallo Matthias,

mit dem Satz wollte ich nur sagen, dass die PDF-Dokumente keine Pflichtfelder bei den Produkten sind.

Damit der Downloadbereich im Frontend ausgegeben wird, ist eine Anpassung an der Datei

THEME_ROOT/src/Resources/views/storefront/page/product-detail/tabs.html.twig

notwendig.

Ich kenne dein Theme leider nicht, aber die Anpassung könnte in etwa so aussehen:

{% block page_product_detail_tabs_navigation_container %}
	<ul class="nav nav-tabs product-detail-tab-navigation-list"
	id="product-detail-tabs"
	role="tablist">
		{% block page_product_detail_tabs_navigation_description %}
			{{ parent() }}
		{% endblock %}

		{# Downloadbereich #}
		{% if page.product.translated.customFields.DEIN_CUSTOM_FIELD_NAME|length %}
			<li class="nav-item">
				<a class="nav-link {% if (ratingSuccess == 1) or (ratingSuccess == -1) %}active{% endif %} product-detail-tab-navigation-link"
				id="datasheet-tab"
				data-toggle="tab"
				data-offcanvas-tabs="true"
				href="#datasheet-tab-pane"
				role="tab"
				aria-controls="datasheet-tab-pane"
				aria-selected="true">
					<span>
						{{ "customFields.custom_downloadbereich"|trans|sw_sanitize }}
						<span class="product-detail-tab-navigation-icon">
							{% sw_icon 'arrow-medium-right' style {'pack':'solid'} %}
						</span>
					</span>
				</a>
			</li>
		{% endif %}
		{# Downloadbereich #}

		{% block page_product_detail_tabs_navigation_review %}
			{{ parent() }}
		{% endblock %}
	</ul>
{% endblock %}

{% block page_product_detail_tabs_content_container %}
	<div class="tab-content">
		{% block page_product_detail_tabs_content_description %}
			{{ parent() }}
		{% endblock %}

		{# Download Dateien #}
		{% if page.product.translated.customFields.DEIN_CUSTOM_FIELD_NAME|length %}
			<div class="tab-pane fade show {% if (ratingSuccess == 1) or (ratingSuccess == -1) %}active{% endif %}"
			id="datasheet-tab-pane"
			role="tabpanel"
			aria-labelledby="datasheet-tab">
				{% sw_include '@Storefront/storefront/utilities/offcanvas.html.twig' %}
				{% set productMediaId = page.product.translated.customFields.DEIN_CUSTOM_FIELD_NAME %}
				{% set mediaCollection = searchMedia([productMediaId], context.context) %}
				{% set productMedia = mediaCollection.get(productMediaId) %}
				<a href="{{ productMedia.url }}" download title="Dowload {{ productMedia.fileName }}.{{ productMedia.fileExtension }}">
					{% sw_icon 'paperclip' %} {{ productMedia.fileName }}.{{ productMedia.fileExtension }}
				</a>
			</div>
		{% endif %}
		{# Download Dateien #}

		{% block page_product_detail_tabs_content_review %}
			{{ parent() }}
		{% endblock %}
	</div>
{% endblock %}

Dabei ist {{ „customFields.custom_downloadbereich“|trans|sw_sanitize }} ein Textbaustein für die Tab-Überschrift.

1 „Gefällt mir“

Hallo Laudenz,

vielen Dank für die Antwort! Danke jetzt habe ich es verstanden!

Ich schau mal ob ich es damit hin bekomme :slight_smile: Danke!

Hallo zusammen,
ich sehe, es geht voran. Danke für die Antworten.

Im Moment hab ich mit anderen Projekten zu tun. Sobald ich wieder am Shop arbeite, werde ich mich darum kümmern und Rückmeldung geben.

Jemand eine Idee wie das mit Shopware 6.6 umzusetzen ist, scheint dort so nicht mehr zu funktionieren?

Bitte beides kommentieren und voten:

Ich stelle mir das recht simple vor:

Es sollte standardmäßig z.B. 5 Felder für jeweils ein PDF vorhanden sein (per Textbaustein richtig bezeichnet/übersetzt werden können) sowie vollständig per API ansteuerbar sein, damit z.B. dies per PIM gefüllt werden kann. Im Frontend werden natürlich nur so viele angezeigt (und auch die Überschriften, also die Textbausteine) wenn hier ein PDF hinterlegt ist. Klingt jetzt nicht so aufwändig für Shopware umzusetzen.

Zum befüllen im Admin nicht den Link zum PDF reinkopieren, sondern schon die Media Auswahl im Medienmanager und hier nur PDF zulassen.

@Benjamin_Hummel: vielleicht kannst du das intern nochmal weitergeben, dass das sehr sinnvoll ist, im Standard zu haben.