Shortcode in Plugin

Hi,

ich möchte einen Button in ein Template einbauen unter Verwendung eines Shortcodes. Da nicht ganz klar ist, wo genau der Button am Ende eingefügt werden soll, möchte ich mein Plugin so schreiben, dass nach der installation der Shortcode irgendwo eingefügt wird und dort dann mein Button erscheint. Wie funktioniert das?

FYI: Ich habe das Plugin geschrieben in dem ‚neuen‘ Pluginsystem.

Vielen Dank :slight_smile:

Ehrlich gesagt würde ICH ganz einfach die Smarty Funktionalität benutzen. Das ist schon da und da brauch man nichts neues erfinden.

Im Moment habe ich eine Datei:

/custom/plugins/MyPluginName/Resources/views/frontend/detail/content/buy_container.tpl

die wie folgt aussieht und auch funktioniert:

{extends file="parent:frontend/detail/content/buy_container.tpl"}

{block name='frontend_detail_data_attributes'}
    {$smarty.block.parent}
    
        Exposé
    
{/block}

Ich wurde angefragt, ob ich einfach ein Shortcode-Snippet machen kann, sodass es dann auch woanders eingebaut werden kann. Ich bin nicht ganz sicher, wie das geht und warum das so sein soll, aber ich habe leider die Anforderung. Wie könnte man das machen?

Das kommt dabei heraus:

Wie könnte man das machen?

Hm ich würde es genau so machen wie du schon hast. Überall einbauen geht nicht, da die Variable $sArticle nicht überall verfügbar ist. Am Ende betrifft es vielleicht nur die Suchanzeige, das Listing und die Dateilansicht. Für einen zusätzlichen „Shortcode“ ein Plugin bauen würde ich nicht. Und die paar Zeilen sind schnell ins Template geschrieben. Zumindest schneller als der Bau von einem Plugin.

Hallo,

das was du mit “Shortcodes” meinst, sind action - Widgets, siehe: On action tags . Man definiert ein Widget und kann das dann, genauso wie beispielsweise den Topseller ( shopware/index.tpl at 5.5 · shopware/shopware · GitHub ), überall einsetzen.

Für die dargestellte Funktion gibt es aber so und so schon bereits Plugins im Shopware Store, die solch eine Schaltfläche implementieren.

Grüße

Sebastian