Fragen zu individuellen Details in Artikeldetais mit beispielsweise detail.tpl

Guten Tag,

wenn ich das Theme Responsive beispielsweise um eine detail.tpl mit individuellem Code erweitern möchte, wo muss ich die Datei erstellen? Ich habe die themes/Frontend/Responsive/frontend/detail/detail.tpl angelegt und ganz oben eine Zeile rein geschrieben {extends file=‘parent:frontend/detail/index.tpl’}, aber bisher noch keine andere Darstellung in der Detailbeschreibung.

Dirk

Hallo Dirk

möchtest du eine neue Datei erstellen als eigene Produktseite ? oder möchtest du die Produktdeteilseite nach deine wünschen erweitern ?

So sollte es sein themes/Frontend/ DeinTheme /frontend/detail da gehört das rein ( detail.tpl ??? ) gibt es nicht ( muss also erstellt werden ) dann brauchst du aber das  {extends file=‘parent:frontend/detail/index.tpl’} nicht. Es sind aber noch ein paar Schritte mehr notwendig um deien Detailseite einzufügen ( ist aber nicht schwer )

Ich denke wenn du hier deine Vorstellung postest, dann wird es einfacher dir weiterzuhelfen als dir irgendwelche Datei und Pfade zu nennen wo du was machen sollst.

Du solltest dich schon auch ein wenig in Shopware einarbeiten, das ist denke ich absolutes muss. Bis später

Viel Spaß

Ich möchte die vorhandene Detailseite mit einem JavaScript ergänzen und dem Script die Variable “Herstellernummer” übergeben.

Hey,

du solltest über das Backend ein neues Theme erstellen und es vom Responsive-Theme ableiten. Gehe dazu in den Theme-Manager und klicke dort oben auf „Theme erstellen“. Auf keinen Fall solltest du vorhandene Shopware-Dateien modifizieren, da bei einem Update deine Anpassungen überschrieben werden können.

Anschließend synchronisierst du das auf dem Server neu erstellte Theme und kannst das als Ausgangslage für deine Anpassungen benutzen.

Wie du JavaScript einbindest, erfährst du unter dem folgenden Link:

Shopware 5 Theme Startup Guide

Ich würde dir darüber hinaus empfehlen, einmal alle Guides unter „Developing Themes“ durchzugehen.

Ich hoffe, ich konnte helfen.

Grüße

@piweck‍ beschrieben abgeleitet und möchte nun den Inhalt der Datei  themes/Frontend/ sogehtes /frontend/detail/detail.tpl erstellen.

Welche Variablenbezeichnung oder andere Syntax wäre in diesem Beispiel eventuell noch falsch, um die Herstellernummer eines Artikels an argument.push zu übergeben:

protected $javascript = [



var argument = argument || []; argument.push(['Nummer', 's_articles_details.supplierNumber']);

];</code></pre>

<p>Ich bin mir da noch unsicher.</p>

<p>Dirk</p>

Ich habe auch mal

Test

an den Anfang der neuen detail.tpl gesetzt und das Theme neu kompiliert. Test wird leider nicht angezeigt. Was mache ich falsch?

Ich habe eine my.tpl angelegt im Serverordner root@ubuntu:/var/www/shopware/themes/Frontend/meinTheme/frontend/detail# wie hier https://community.shopware.com/Tutorial-Abweichendes-Detailseiten-Template-erstellen_detail_980.html beschrieben:

Inhalt ist:

{extends file='parent:frontend/detail/index.tpl'}

{block name="frontend_detail_buy"}
        
                Hello World!
        
{/block}

Auch nach dem Neuen Zuweisen und Kompilieren, sowie leeren des Cache, wird leider der Text nicht angezeigt. chmod 755 hab ich mal auf die Datei angewendet. In den Web-Entwicklertools kann ich auch keinen Container mit dem Namen „extra“ finden. Woran könnte das liegen? Falscher Blockname?

Er zieht sich meine my.tpl, ich hatte die Änderungen nicht gesehen. Wo ist denn die Doku welche Blöcke in den Artikeldetails wie benannt sind, hat die jemand hier kurz zur Hand für mich, sonst suche ich…

https://developers.shopware.com/developers-guide/debugging/#shopware-profiler

Damit kannst du eigentlich alles selbst finden. Der zeigt auch bspw. die Blocknamen im HTML-Quelltext an.

Ich mache noch was falsch, bisher wird „Hello World“ nicht angezeigt:

{extends file='parent:frontend/detail/index.tpl'}

{block name="frontend_detail_index"}


    alert( 'Hello, world!' );
  

{/block}

Den Shopware Profiler habe ich noch nicht installiert.

Hallo,

wie Moritz und hds schon schreiben, solltest du dich einfach mal richtig in Shopware bzw. die Dokumentationen reinarbeiten, dann würde es auch funktionieren und vor allem auch ordentlich werden.

Inline - JavaScript geht ja mal gar nicht, wenn gehört sowas in JavaScript - Dateien, siehe: https://developers.shopware.com/designers-guide/css-and-js-files-usage/#add-javascript-files . Ebenso sollte man um JavaScript auch {literal} - Blöcke machen.

Alle Shopware Blöcke für die Detailseite findet man hier: https://github.com/shopware/shopware/tree/5.4/themes/Frontend/Bare/frontend/detail . Eine andere Dokumentation dazu gibt es nicht und wird es auch nie geben, da immer mal wieder neue dazukommen oder wegfallen.

Grüße

Sebastian

Nun habe ich in /shopware/themes/Frontend/Sogehtes/frontend/detail/my.tpl Folgendes geschrieben:

{extends file='parent:frontend/detail/index.tpl'}

{block name='frontend_index_header_javascript_jquery_lib' append}
<script type="text/javascript" src="{link file='frontend/_public/src/js/custom.js'}"></script>
{/block}

und in /shopware/themes/Frontend/Sogehtes/frontend/_public/src/js/custom.js Folgendes:

alert("Hello, World!");

Beim Aufruf eines Artikels (Details) kommt kein PopUp.

Ich versuche gerade das Problem ausfindig zu machen. Den Website-Cache, Shopware-Cache und meinen Browser-Cache habe ich geleert. Falls mir hier jemand auf die Sprünge hilft, würde es die Einbindung vermutlich beschleuigen, sonst muss ich halt entsprechend weiter lesen. Ggf. Dank vorab.

Wie @sschreier‍ schon schrieb solltest du dich in Shopware mehr einarbeiten.

a) Nie append und/oder prepend nutzen -> immer mit {$smarty.block.parent} arbeiten.

b) so wird eine custom.js in Shopware nicht eingebunden. Das ganze erfolgt im Javascript Array innerhalb der Theme.php

siehe z.B.: Using CSS and JavaScript in themes

 

Ich habe noch das Gefühl das an meiner Shopware Community Edition Installation etwas nicht 100%ig ist.

Obwohl ich die Datei /var/www/shopware/themes/Frontend/Sogehtes/frontend/detail/my.tpl angelegt habe mit folgenden zwei Containern

{extends file='parent:frontend/detail/index.tpl'}

{* Main content *}
{block name='frontend_index_content'}


{/block}

bekomme ich bei den Web-Entwickler-Werkzeugen von Firefox im Inspektor diese zwei Container nicht angezeigt.

Muss ich im Backend eventuell noch etwas anders einstellen? Das Theme Sogehtes habe ich von Responsive abgeleitet und ausgewählt sowie kompiliert, nachdem ich die individuelle my.tpl angelegt hatte.

Eigentlich sollten die Container doch zu finden sein, auch wenn diese keinen Inhalt haben.

Hallo,

es bleibt wie gesagt: Beschäftige dich WIRKLICH mit der Theme-Entwicklung oder gib das jemanden der Ahnung hat. Shopware hat eine gute Partnerseite.

Warum das bei dir nicht geht ist auch in diesem Fall wieder klar. Halte dich an die Anleitungen oder lass es bleiben.