MyBB.de Forum
Wie funktioniert das Child-Parent-Konzept? - Druckversion

+- MyBB.de Forum (https://www.mybb.de/forum)
+-- Forum: MyBB 1.8.x (https://www.mybb.de/forum/forum-87.html)
+--- Forum: Allgemeiner Support (https://www.mybb.de/forum/forum-88.html)
+--- Thema: Wie funktioniert das Child-Parent-Konzept? (/thread-36990.html)



Wie funktioniert das Child-Parent-Konzept? - The-Dude - 01.02.2020

Hi,

ich kenne das Child-Parent-Konzept bereits von Wordpress, aber bei MyBB scheint das etwas anders zu sein.
  • Wer erbt hier von wem?
  • Welches Theme darf ich in Zukunft editieren, damit Änderungen bei einem Theme-Update erhalten bleiben?
  • Welche Einstellungen muss ich unter "Stylesheets bearbeiten - Theme-Eigenschaften bearbeiten" machen?
Besten Dank für eure Hilfe. Smile

BTW: Ein so wichtiger Punkt wie das Erstellen und Konfigurieren eines Child-Themes sollte ausführlich in der MyBB-Dokumentation stehen. Ich hab da allerdings außer ein paar wenigen, allgemein gehaltenen Sätzen nichts in der deutschen und englischen Dokumentation gefunden.


RE: Wie funktioniert das Child-Parent-Konzept? - StefanT - 02.02.2020

Es werden nur die Stylesheets vererbt, zu erkennen an der Anzeige "Geerbt von". Ein Stylesheet wird nur solange vererbt bis es bearbeitet wird.

In der Praxis werden Child-Themes kaum genutzt (außer dass alle Themes vom Master Theme erben), da es wenig sinnvolle Anwendungsfälle gibt.


RE: Wie funktioniert das Child-Parent-Konzept? - The-Dude - 03.02.2020

Danke dir für die Info, aber beantwortet mir immer noch nicht genau meine Fragen. Thinking
Die wichtigste: Welches Theme (Parent oder Child) kann ich anpassen, ohne dass bei einem Theme-Update die Anpassung verloren geht? Thinking

Warum sollten Child-Themes bei MyBB kaum genutzt werden? ThinkingWie verhindern Forenmaster sonst, dass bei einem Theme-Update Anpassungen überschrieben werden? Thinking


RE: Wie funktioniert das Child-Parent-Konzept? - itsmeJAY - 03.02.2020

Bei einem Theme-Update müssen die Templates entweder manuell aktualisiert werden und einzeln mit den geänderten Templates abgeglichen werden oder über den Import das gesamte Theme nochmal neu hochgeladen werden (natürlich die aktualisierte Version). Zweite Option bedeutet aber, dass die vorhandenen Änderungen verloren gehen. Ich benutze MyBB derzeit nicht im direkten produktiven Einsatz, vielleicht hat hier noch jemand einen Work-Around...

Wenn mich nicht alles täuscht, wird in Version 1.9 von MyBB die Twig Template Engine zum Einsatz kommen. Da lässt sich dann auch ein Base-Theme problemlos setzen und verwalten - und auch endlich "php" in Templates Big Grin Ich hoffe ich täusche mich da nicht, ich meine das mal irgendwo hier gelesen zu haben...

(https://twig.symfony.com/)

Beachte aber bitte: MyBB 1.9 befindet sich derzeit noch in Entwicklung.

// Edit - schein ich wohl doch richtig gelesen zu haben Big Grin

Zitat:New Features/Changes
  • Brand new responsive theme, with more semantic HTML5 structure behind it.
  • Changing the template system to use Twig. This brings the following improvements:
  • Conditionals and loops within templates, removing the need for plugins like the PHP or Template Conditional plugins.
  • Ability to include templates from withina  template, leading to more flexibility for theme developers.
  • HTML in variables in templates is escaped by default - no need to remember to use 
    htmlspecialchars_uni()
  • in backend PHP code everywhere. This should lower the chances of inadvertent holes for XSS attacks to leak through due to output not being filtered.
  • Ability to register functions that can be called within templates. Functions such as formatting dates according to MyBB settings, checking permissions, and more will be available from straight within templates, making logic muche asier to reason about.

Geschrieben von Euan => https://community.mybb.com/thread-215211.html


RE: Wie funktioniert das Child-Parent-Konzept? - The-Dude - 03.02.2020

Hmmm, etwas unverständlich für 2021, aber ok, wenn Besserung in Sicht ist, dann hoff ich auf das Beste. Smile
Das Child-Parent-Konzept in Bezug auf die Stylesheets erklärt mir deine Antwort aber auch nicht. Wink Hier bietet MyBB ja explizit an, ein Child-Theme zu erstellen. Smile


RE: Wie funktioniert das Child-Parent-Konzept? - doylecc - 03.02.2020

Wenn du ein Child-Theme erstellst, werden alle Stylesheets des Parent-Themes vererbt. Du hast praktisch so etwas wie eine Kopie des Parent-Themes unter neuem Namen als Ausgangspunkt zum Bearbeiten.

Vererbte Stylesheets bekommen automatisch alle Änderungen, die im jeweiligen Stylesheet des Parent-Themes gemacht werden. (Wenn also zB in der global.css des Parent-Themes die Hintergrundfarbe von #container in rot geändert wird, dann wird sie im vererbten Stylesheet des Child-Theme ebenfalls rot)

Erst wenn ein Stylesheet im Child-Theme bearbeitet und abgespeichert wurde, ist es nicht mehr vererbt und somit eigenständig. Es werden dann keine Änderungen aus dem Parent-Stylesheet mehr übernommen.


RE: Wie funktioniert das Child-Parent-Konzept? - StefanT - 04.02.2020

(03.02.2020, 21:26)The-Dude schrieb: Die wichtigste: Welches Theme (Parent oder Child) kann ich anpassen, ohne dass bei einem Theme-Update die Anpassung verloren geht? Thinking
Es wird ausschließlich das Master-Theme automatisch angepasst. Dieses lässt sich aber sowieso weder nutzen noch bearbeiten. Alle anderen Themes werden bei einem Update nicht angerührt - egal ob Parent oder Child - und müssen ggf. manuell angepasst werden.


RE: Wie funktioniert das Child-Parent-Konzept? - The-Dude - 04.02.2020

@StefanT du meinst mit Master-Theme den "MyBB Master Style"? Ich glaube, wir reden aneinder vorbei. Wink

Wenn bei einem Theme-Update, egal ob MyBB-Standard-Theme oder das eines Drittanbieters, weder Parent- noch Child-Theme angepasst werden, was wird dann geupdatet?

Also ich kenn das von Wordpress so: Das Parent-Theme wird bei einem Theme-Update überschrieben. Darum werden alle Anpassungen im Child-Theme gemacht, von dem das Parent-Theme alle Änderungen erbt.


RE: Wie funktioniert das Child-Parent-Konzept? - StefanT - 04.02.2020

Es gibt eben das Master-Theme, das automatisch aktualisiert wird. Alle von diesem geerbten Stylesheets und Templates werden daher angepasst. Sobald etwas bearbeitet ist, wird nicht mehr vererbt und es sind ggf. manuelle Anpassungen nötig.
Eine zusätzliche Verschachtelung bringt bei einem Update keinerlei Vorteile.


RE: Wie funktioniert das Child-Parent-Konzept? - The-Dude - 05.02.2020

Danke, ich weiss jetzt immer noch nicht was genau du mit dem Master-Theme meinst (und warum das automatisch aktualisiert werden sollte) und es ist mir immer noch klar, wer hier von wem wann etwas erbt oder nicht erbt. Dachte, ich hätte meine Fragen so klar formuliert, dass sie mit wenigen Worten zu beantworten wären. Wink Muss wohl wo anders nachfragen. Danke für deine Zeit. Smile