Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste
Wie funktioniert das Child-Parent-Konzept?
#1
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.
Wer im Netz Anstand und Respekt verliert, der ist auch im realen Leben für nichts zu gebrauchen! Cool

[Bild: my.gif]  PHP-Version: 7.3.1 | MySQL-Version: 5.6.46
Zitieren
#2
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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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
Wer im Netz Anstand und Respekt verliert, der ist auch im realen Leben für nichts zu gebrauchen! Cool

[Bild: my.gif]  PHP-Version: 7.3.1 | MySQL-Version: 5.6.46
Zitieren
#4
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
Zitieren
#5
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
Wer im Netz Anstand und Respekt verliert, der ist auch im realen Leben für nichts zu gebrauchen! Cool

[Bild: my.gif]  PHP-Version: 7.3.1 | MySQL-Version: 5.6.46
Zitieren
#6
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.
Zitieren
#7
(03.02.2020, 20: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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#8
@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.
Wer im Netz Anstand und Respekt verliert, der ist auch im realen Leben für nichts zu gebrauchen! Cool

[Bild: my.gif]  PHP-Version: 7.3.1 | MySQL-Version: 5.6.46
Zitieren
#9
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.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#10
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
Wer im Netz Anstand und Respekt verliert, der ist auch im realen Leben für nichts zu gebrauchen! Cool

[Bild: my.gif]  PHP-Version: 7.3.1 | MySQL-Version: 5.6.46
Zitieren