Block Appenden funktioniert nicht

Hallo zusammen,

ich habe folgendes Problem:

Ich möchte in meinem eigenen Template die index/index.tpl erweitern.
Undzwar möchte ich etwas hinter den Block “frontend_index_shop_navigation” anhängen.

Ich habe es mittlerweile wie folgt probiert:

{extends file="parent:frontend/index/index.tpl"}
...
{* Shop navigation *}
{block name='frontend_index_shop_navigation'}
	{$smarty.block.parent}
	[Mein anzuhängender Inhalt]
{/block}

{extends file="parent:frontend/index/index.tpl"}
...
{* Shop navigation *}
{block name='frontend_index_shop_navigation' append}
	[Mein anzuhängender Inahalt]
{/block}

Aber bei beiden Varianten wird der Inhalt scheinbar “prepended” denn er erscheint immer vor dem Parent-Inhalt des Blocks statt dahinter.
Hat jemand eine Idee woran das liegen kann?

Hast du nur die Anzeige im Shop geprüft oder auch den HTML Quelltext?

Viele Grüße

Sowohl als auch.

In der Anzeige im Shop sieht die Darstellung natürlich entsprechend zerschossen aus.
Im Quellcode kommt das Element vor dem Inhalt des Blocks statt dannach :confused:

Ich kann mir einfach nicht erklären wieso…

Hast du vielleicht ein Plugin installiert, welches etwas an der Navi ändert und die Blöcke verändert?

Gruß
Marco

1 „Gefällt mir“

Mir fällt spontan keines ein welches irgendetwas am Header verändert.

Ich habe nun einige Plugins testweise deaktiviert, die auch nur ansatzweise etwas mit dem Header zu tun haben könnten.
Leider ohne Erfolg. Das Problem besteht immernoch :confused:

 

EDIT:

Ok, du hattest recht :slight_smile: Das eKomi Plugin (eKomi Schnittstelle für 4.x und 5.x) war ausschlaggebend weil es etwas in den Block „frontend_index_shop_navigation“ prepended hat.
Vielen Dank für den ausschlaggebenden Hinweis.

Jetzt muss ich nur noch gucken wie ich beides zum laufen bekomme :smiley:

Ich verstehe aber trotzdem nicht ganz wodurch das zustande kommt…

Das eKomi Plugin prepended den Block, wenn ich diesen anschließend in meinem Theme appende, müsste es ja ans Ende des gesammten Blocks schreiben.
Es ist aber so als würde der zwischen dem neuen Inhalt aus dem Plugin und dem originalen Inhalt stehen bleiben und der Append aus meinem Theme zwischen diesen beiden reingeschrieben wird.

Handelt es sich hier um einen Bug in Shopware?

 

Hier nochmal zur Verdeutlichung:

Das Plugin macht einen „prepend“ auf den Block und mein Theme einen „append“ auf den selben Block

 

Eigentlich sollte dies ja so aussehen am Ende

[Plugin Prepend] [Bare / Responsive Block Inhalt] [Theme Append]

 

Es sieht aber wie folgt aus:

[Plugin Prepend] [Theme Append] [Bare / Responsive Block Inhalt]

 

Und wenn ich den Block in meinem Theme komplett überschreibe, dann überschreibt er nur den Inhalt, der durch das Plugin prepended wurde.
Eigentlich müsste hier ja der Inhalt aus Bare / Responsive welcher ebenfalls in dem Block drin steht auch überschrieben werden.
Es kommt mir so vor aus würde er beim Prependen aus dem Block rausspringen und anschließend an der Position bleiben.

{extends file=„parent:frontend/…“}

sollte das Problem beheben.

In meinem Theme arbeite ich mit

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

(Siehe erster Beitrag)

Und das eKomi auch?

Ja, auch der eKomi View beginnt mit:

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

 

Nun habe ich das selbe Problem an einer weiteren Stelle…

Ich habe das Plugin deaktiviert, konnte also den genannten Block korrekt appenden …
Wenn ich mich aber nun im Checkout befinde, wird der Block nicht geleert, was er eigentlich tun sollte aufgrund der minimal Checkout Header Einstellung im Template / Theme.

Anscheinend springt er sowohl bei einem Append als auch bei einem Prepend aus dem Block raus.
Habe auch einen etwas älteren Beitrag im Forum gefunden in dem von diesem Problem berichtet wurde, jedoch ging ich davon aus, dass das Problem schon behoben wurde, da der Beitrag ca zwei Jahre her war …

-> http://forum.shopware.com/discussion/22866/problem-mit-append-und-anschliessender-ueberschreibung

Ich werde nachher mal ein Ticket im Issuetracker eröffnen …

Habe das Problem nun wie folgt gelöst:

  1. Plugin deaktiviert

  2. Statt append, mit $smarty.block.parent gearbeitet

    {* Shop navigation *}
    {block name=‘frontend_index_shop_navigation’}
    {$smarty.block.parent}
    [Meine Änderungen]
    {/block}

Nur so kann ich nach dem erweitern des Blocks in einem weiteren Schritt noch auf diesen Block zugreifen …