jetzt habe ich sonst immer folgendes gemacht un neue Blöcke einzufügen:
{block name="frontend_index_footer_column_newsletter" append oder prepend}{/block}
In der Doku steht aber
Attention: It is reommended to not use the smarty block parameter append and prepend , so other templates or plugins can overwrite the same block without problems.
Jetzt meine Frage wie ich sonst Blöcke einfügen kann?
Es geht nur um die Nutzung von append und prepend, an der Überschreibung von Blöcken ändert sich nichts.
prepent und append geben lediglich an, ob dein Code vor oder hinter dem ursprünglichen Inhalt gesetzt werden soll, das machst du jetzt einfach anders.
{extends file='parent:frontend/index/footer-navigation.tpl'}
{block name='frontend_index_footer_column_newsletter'}
// Dein Code vor ursprüngliche Inhalt
{$smarty.block.parent}
// Dein Code nach ursprüngliche Inhalt
{/block}
Edit: Es muss natürlich als Ausgangpunkt für Überschreibungen/Ergänzugen ein existierender Block verwendet werden. Einen „frontend_index_footer_column_info“ gibt es in der footer-navigation.tpl aber nicht. Darum kann das auch nicht gehen.
Ich denke hier liegt eine generelle Fehleinschätzung vor.
Du kannst bestehende tpl nur ergänzen oder überschreiben, neue Blöcke lassen sich demnach nur dadurch einfügen, dass du den darüber liegenden Block erweiterst um deinen Block.
Einfach einen neuen Block definieren kann man meines Wissens nach nicht, also musst du mal schauen was der nächst höhere Block ist.
Exakt - woher soll das Template auch wissen, an welcher Stelle im Document später dieser „neue“ Block auch immer erscheinen soll. Er muss ja in einem Block „verankert“ werden.
WAS willst Du denn machen?
Such Dir die Stelle im Code, wo Du etwas „anhängen“ möchtest. Mit etwas Glück endet oder beginnt dort ein Block.
Hinter einen vorhanden Block anhängen: Hat PStadtfeld oben ja schon gezeigt. Davorhängen: Inhalt einfach vertauschen. Getting started with Smarty
“Sauberer” geht es nicht. Du musst es ja verankern.
Wenn Du es wirklich so haben willst, wie Du darstellst, musst Du aus Bare den ganzen Code vom “übergeordneten” Block kopieren und Deinen an gewünschter Stelle einfügen - was dann ja abolut nicht updatesicher ist.
Eigene Blöcke machen nur Sinn, wenn du diese später an anderer Stelle wieder überschreiben willst - und ich gehe nicht davon aus, dass das dein Ziel ist.
Ich verstehe schon, was er will.
Er hängt seinen Code ja nicht wirklich hinter den Block, sondern am Ende vom Block rein. So kann natürlich ein anderes Plugin etc. den Block wieder überschreiben, und seine eigene Änderung wäre wieder weg. Beim “reinhängen” benötigt er keinen Block, aber das will er ja nicht!
Vom “Denken” her verständlich, aber eben so nicht umsetzbar. Letztlich muss er eben den ganzen Code vom übergeordneten Block übernehmen - dann ist sein “neuer” Block nicht durch andere Plugins “gefährdet”. Alles nur Kompromisse