Frage zu Best Practice Strukturanpassung: Blocks vs Templateanpassung

Hallo zusammen,

ich möchte ein Theme (Child von Azure) sehr stark umgestalten und habe diesbezüglich eine Frage zur Rolle von Blöcken und Templateanpassungen im Bezug auf Updatesicherheit.

Vor der Einführung von Blöcken war es ja relativ eindeutig.
Zur Erstellung eines individuellen Themes kopierte man die betreffenden Basic- oder Azure-Templatedateien und hat dann alles so geändert wie man das haben wollte…
Wenn dann ein Update veröffentlicht wurde, ging man die Templatedateien durch und passte alles manuell an.

Blöcke haben das auf geniale Weise verbessert. Einfach z.B. Partnerlogo überschreiben und man braucht das Template nicht anzufassen = updatesicher.

[B]Bei kleineren Veränderungen durchaus sinnvoll, aber wie geht man optimalerweise vor, wenn man die Seite auch strukturell oder großflächig verändern möchte? Hat die Verwendung von Blöcken dann überhaupt noch Vorteile?

Beispiel:
Ich möchte den Footer komplett ändern.
Ist es besser den Block “footer_main” mit einem Designmodul komplett zu überschreiben oder ist es besser im Child-Theme “footer.tpl” anzulegen und die Änderungen im Template vorzunehmen?
[/B]

  1. Sind Blöcke überhaupt für solch einen Zweck gedacht oder ist es hauptsächlich eine Möglichkeit für externe Modulentwickler Designänderungen zu bewirken?
    Welche Variante lässt sich leichter updaten?

  2. Angenommen ich lege im Child-Theme ein neues Template für den header bzw. footer an. Sollte ich meinen Quellcode dann ebenfalls mit Blocks ( “layout_header_top”,“layout_header_logo”,“layout_header_top” ) in Bereich einteilen,
    damit die ursprünglich im Parent-Theme enthaltenen Block Names im Child-Theme ebenfalls enthalten sind?
    Was ist in diesem Fall Best Practice ?

Schon einmal im Voraus vielen Dank für Eure Mühe

Viele Grüße
Stefan

Blocks sind m.E. nur für Module sinnvoll. Das können auch reine Templateänderungen sein, wenn sie eher funktionaler Natur sind und du sie evtl. in anderen Shops auch verwenden willst.

Oder wenn du z.B. sowieso Funktionen brauchst, die ein Modul erfordern. Dann kannst du evtl. die Templateänderungen in einem Modul kapseln, so dass dein Template auch noch funktioniert wenn das Modul abgeschaltet wird. Das macht das Updaten einfacher.

Alles andere kann man direkt im Child-Template ändern. Wenn die Änderungen massiv sind und dein Template eigene Einstellungen haben soll, kannst du auch ein eigenständiges Template machen (Config-Daten müssen dann aus Azure kopiert werden).

Die Blocks solltest du übernehmen soweit möglich, weil sonst Module nicht funktionieren, die die Blocks verwenden.

@leofonic:
Mit deiner verständlichen Erläuterung ergibt das plötzlich alles Sinn :).

Noch einen schönen Abend und vielen herzlichen Dank für deine schnelle Antwort.