Welche Bootstrap-Version sollte in neuen Erweiterungen v2.3 oder v3 verwendet werden?

9

Als Erweiterungsentwickler bin ich immer noch verwirrt, welche Bootstrap-Version in meiner kommenden Erweiterung verwendet werden soll.

  • In vielen Diskussionen stellte ich fest, dass Joomla 3.x Bootstrap-3.0 nicht verwendet.
  • Die meisten Vorlagenanbieter verwenden Bootstrap v3
  • Viele Erweiterungen verwenden auch Bootstrap v3

Was soll ich wählen?

Shyam
quelle

Antworten:

6

Joomla 3.x wird mit den Dateien für Bootstrap 2 ausgeliefert. Aufgrund der Abwärtskompatibilität wird sich dies in der Joomla 3.x-Serie wahrscheinlich nicht ändern.

Es ist wichtig zu wissen, dass Bootstrap aus zwei Hauptbereichen besteht:

  • Die CSS-Dateien
  • Das JavaScript-Framework

CSS

Joomla enthält diese Dateien sowohl als WENIGER Quelldateien als auch als kompilierte CSS-Dateien. Joomla selbst lädt keine Bootstrap-CSS-Dateien. Es liegt an der Vorlage, zu entscheiden, ob diese Dateien verwendet oder mit eigenen CSS-Dateien geliefert werden sollen.

Im Backend ist die aktive Vorlage normalerweise "Isis", die die Bootstrap 2-Dateien stark verwendet. Daher ist es sinnvoll, das Bootstrap 2-Styling in Ihrem Erweiterungs-Backend zu verwenden. Zumal es sowieso nicht viele alternative Administrationsvorlagen gibt

Im Frontend ist es jedoch ein ganz anderes Thema. Sie haben keine Ahnung, welche Vorlage der Benutzer verwenden wird und auf welchem ​​Framework diese basiert. Persönlich entscheide ich mich auch hier für das Bootstrap 2-Styling, nur weil die Kernausgabe diese ebenfalls verwendet. Daher ist die Wahrscheinlichkeit hoch, dass eine Vorlage diese Klassen unterstützt. Andernfalls wird die Ausgabe überschrieben. Wenn für den Kern Überschreibungen verwendet werden, muss Ihre Erweiterung wahrscheinlich ohnehin auch überschrieben werden.

Sie können natürlich auch Unterstützung für Bootstrap 3 hinzufügen, aber das bedeutet, dass Sie Ihre Arbeit verdoppeln müssen. Ich würde jedoch niemals nur Bootstrap 3-Layouts ohne die Option zum Laden von Bootstrap 2-Layouts bereitstellen.

JavaScript

Joomla verfügt über Methoden zum Laden von Bootstrap-JavaScript-Code, z. B. für QuickInfos oder Registerkarten. Dieser Code kann und sollte von Erweiterungen verwendet werden. Stellen Sie einfach sicher, dass Sie sie in Ihre Layouts laden, damit sie bei Bedarf von Vorlagen überschrieben werden können.

Bakual
quelle
1

Wie Sie bereits erwähnt haben, verwendet Joomla 3.x Bootstrap 3.x nicht. Sollten Sie sich daher für die Verwendung von Bootstrap 3 entscheiden, lädt der Benutzer zwei Versionen von Bootstrap, was zu Konflikten führen und sich ebenfalls verringern kann Seitenladegeschwindigkeiten.

Sie können ein kleines Skript schreiben, um festzustellen, welche Version von Bootstrap die Vorlage mit Strom versorgt, und diese Version zum Stylen Ihrer Erweiterung verwenden. Ich denke, entweder NoNumber oder Akeeba bieten die Möglichkeit, bwteen auszuwählen, welche Bootstrap-Version Sie verwenden möchten. Ich kann mich nicht erinnern, welche, aber es könnte sich lohnen, einen Blick darauf zu werfen, wie sie es tun.

Aber anstatt Bootstrap zum Stylen Ihrer Erweiterung zu verwenden, können Sie auch ein benutzerdefiniertes Styling als weitere Option verwenden. Nicht alle Vorlagen basieren auf Bootstrap.

Hoffe das gibt dir einen kleinen Einblick.

Lodder
quelle
Das Problem ist, dass wir eine Erweiterung vornehmen müssen, damit es nicht zu Konflikten mit Vorlagenanbietern kommt. Wenn wir ein benutzerdefiniertes Styling durchführen, haben Kunden Probleme bei der Verwendung verschiedener Vorlagen.
Shyam
Am besten halten Sie sich an Bootstrap 2.x. Die meisten Vorlagen für Joomla basieren immer noch auf dieser Version, da sie mit Joomla vorverpackt ist. Das Problem ist manchmal, dass Sie nicht für jede einzelne Person da draußen sorgen können. Zum Beispiel gibt es wahrscheinlich einige Vorlagenanbieter, die Foundation verwenden, um ihre Vorlagen zu betreiben, aber ich kenne keine Entwickler, die die Foundation-Klassen unterstützen
Lodder
1

In Erweiterungen sollten Sie immer versuchen, die Bootstrap 2-Syntax in Ihren Erweiterungen zu verwenden - insbesondere im Backend. Dies ist die offiziell unterstützte Version von Joomla Core und bedeutet daher, dass Sie Ihr Styling immer wie erwartet zum Laufen bringen und Bootstrap nicht mit Ihrer Vorlage ausliefern müssen. Erweiterungen, die mit Bootstrap 3 geliefert werden, müssen dies enthalten (beachten Sie die ziemlich große Akeeba Strapper-Klasse, die beispielsweise mit Akeeba-Produkten geliefert wird).

Vorlagenanbieter, die Bootstrap 3 verwenden, erlauben normalerweise die Bootstrap 2-Syntax, indem sie weniger Dateien bearbeiten, um beide Versionen von Bootstrap zu berücksichtigen. Diejenigen, die dies nicht tun sollten, müssen sowieso Vorlagenüberschreibungen verwenden.

Der Punkt, an dem Joomla mit Bootstrap 2 ausgeliefert wird und nicht auf Bootstrap 3 umgestellt wird, ist, dass es über die gesamte Joomla-Serie hinweg ein ab / c-CSS / JS-Framework mit erweiterter Erweiterung gibt.

George Wilson
quelle
0

Wenn Sie Bootstrap 3 verwenden müssen, sollten Sie meiner Meinung nach das gesamte Bootstrap 3-CSS (wie Community Builder V2) mit einem Namespace versehen, z. B. wird die Joomla-Kernfunktion zum Bearbeiten von Menüs und Modulen im Frontend beschädigt, wenn Sie BS3 als Frontend verwenden.

Zitat aus dem Community Builder Forum:

Ursprünglicher Link: http://www.joomlapolis.com/forum/6-news-and-publicity/224106-community-builder-20-b2-released?start=6

Aber wird CB2.0 Bootstrap 2 oder 3 verwenden?

Bootstrap 3.

Und wird CB immer die komplette Bootstrap-Bibliothek laden, auch wenn nur das Login-Modul auf einer Site), weil Bootstrap auch riesige unnötige Sachen lädt.

Nein, wir verwenden kein Twitter Bootstrap JS.

Derzeit verwenden wir nur das CSS (wir haben andere, bessere jQuery-Plugins, die die JS-Funktionalität bereitstellen). Wir laden auch Twitter Bootstrap mit einem Namespace, damit es nicht zu Konflikten oder Änderungen des Stils außerhalb des Namespace kommen kann. Im Moment laden wir es nicht die ganze Zeit. Wir laden unsere template.css und fontawesome.css immer nur, wenn die CBs-Vorlage geladen wird. Hinweis CBs-Module verwenden kein CB-Styling. Sie sind so konzipiert, dass sie 1: 1 zu Joomla passen, sodass die Module korrekt zu Ihrer Site passen.

Eine andere Lösung besteht darin, ein Framework wie Skeleton oder Foundation zu verwenden, um das oben genannte Problem zu vermeiden.

Joomla Agentur
quelle