Hi,
bin neu in der shopware-welt und versuche mich noch an der Smarty-Logik mit den Block.
Ich möchte gerne den „frontend_index_header_javascript“ block in der index.tpl überlagern. Also nicht append oder prepend. Leider verschwindet dann auch der innere Block „frontend_index_header_javascript_inline“. Den kann ich natürlich einfach aus den Bare Template kopieren, aber um mehr Updatekompatibel zu bleiben, hätte ich da gerne den aus „appendet“.
Und das geht nicht. Kann mir jemand erklären warum ?
Hier meine Versuche:
{block name="frontend_index_header_javascript"}
alert(1);
{block name="frontend_index_header_javascript_inline" append}
alert(2);
{/block}
{if $theme.additionalJsLibraries}
{$theme.additionalJsLibraries}
{/if}
{/block}
Script Tag ist sauber geschrieben, wird nur hier im Forum umgewandelt.
Alert 1 wird angezeigt, Alert 2 nicht. Dementsprechend auch nicht im finalen generierten Code enthalten.
Habe append entfernt und alert(2) ersetzt durch { $ smarty.block.parent} mit dem ergebnis, das ich den kompletten „frontend_index_header_javascript“ im Inline habe.
block.parent bezieht sich also nicht auf den inneren Block, sondern auf den gesamten.
Die einzige Möglichkeit die header_javascript zu überlagern habe ich nur, wenn ich den kompletten inneren Block mitkopiere, was aber doof ist, fals sich im Bare Template was an den nicht unerheblichen javascript_inline was ändert.
Hab ich was übersehen, oder kann man innere Blöcke nicht überlagern, wenn man den äußeren Block ändern möchte?
Vieleicht kann mir ja da jemand helfen.
gruß
Martin
PS: Rechtschreibfehler bitte ignorieren, bin neu im Forum und schreibe den Text nicht gerade zum ersten mal