Media Server ansprechen

Hallo liebes Forum,

ich möchte auf die Bilder im Mediaserver zugreifen.
Trotz der Anleitung komme ich nicht klar. Ich habe folgenden Code testweise in ein Template eingebunden:

 { **extends** file= **"parent:widgets/emotion/components/component\_banner.tpl"** } { **block** name= **"widget\_emotion\_component\_banner\_image"** } { **$** smarty.block.parent} \< **p** \>$mediaService-\>getUrl('media/image/MyPic01.jpeg') **p** \> {/ **block** }

Ich rufe die Seite auf und das Ergebnis ist:

$mediaService->getUrl(‘media/image/MyPic01.jpeg’)

Nicht besonders vielsagend. Weiß jemand, was ich tun muss?

 das "strong" ist beim copy&paste mir reingekommen. Der Code ist: { **extends** file= **"parent:widgets/emotion/components/component\_banner.tpl"** } { **block** name= **"widget\_emotion\_component\_banner\_image"** } { **$** smarty.block.parent} \< **p** \>$mediaService-\>getUrl('media/image/MyPic01.jpeg') **p** \> {/ **block** }

ist verrückt. Schon wieder.
Das scheint an der Forum-Software zu liegen. Also jetzt, wie er in PHPStorm angezeigt wird:

Mach da mal zumindest so was drum herum: {}

dann lässt sich die Seite nicht mehr laden.

Ich dachte zuerst, dass soll ne smarty Variable sein. php Code hat im Template nix zu suchen

Warum willst du den Mediaservice ansprechen?

Das müsstest du schon mit php machen und die variable mittels assign im Template verfügbar machen.

Wenn du nur ein Bild einfügen willst kannst du es auch mit {media path=“media/image/AdobeStock…jpeg”} machen.

https://developers.shopware.com/designers-guide/smarty-plugins/#media-plugin

Ich habe vor, alle sieben Bilder meiner Einkaufswelt nach ein bis zwei Sekunden in dem Bildschirmbereich, den der User gerade sieht, auszutauschen.

(Eigentlich möchte ich Symbole über das Bild legen. Da das vermutlich zu kompliziert wird, möchte ich die Bilder gegen die gleichen Bilder, auf denen jetzt die Symbole  mit abgebildet werden, austauschen.)

Der zweite Bildersatz muss natürlich auch auf die Bildschirmgröße des Endgeräts angepasst sein. Ich dachte, dass ich das am besten mit dem Mediaservice verwalten lassen kann.

In der Doku steht:

An welcher Stelle binde ich das in welches Programm ein?
Kann ja eigentlich nur ein PHP-Programm sein, also das Theme.php.
Wenn ich das an das Ende der Klassendefinition setze, lässt sich das Theme nicht mehr laden (Internal error 500).
Muss ich dafür eine public function anlegen?
 

Wenn du nur Bilder die sich nicht ändern in’s Template einbinden willst würde ich das mit der Smarty funktion machen.

{media path=“media/image/AdobeStock…jpeg”}

Wenn die Bilder variable sein sollen und du um PHP nicht drum rum kommst, musst du ein Plugin machen, das deine Bilder in Smarty verfügbar sind.

Dazu brauchst du dann aber etwas mehr know how. Da kann ich dir nur den Videokurs empfehlen.