Bootstrap

  • Hallo,


    ich bin gerade bei den Ansichten für meine Komponenten und überlege, ob ich Bootstrap verwenden soll.


    Momentan gibt es ja nur die 2er Version. Ich bin mit der 3er Version sicherer und würde die deshalb gerne verwenden.


    Dann habe ich weiter überlegt und gesehen, dass ab Joomla! Version 3.7 unterschiedliche Bootstrap Versionen möglich gemacht werden sollen (http://developer.joomla.org/cms/roadmap.html).
    Jetzt überlege ich wie das möglich sein soll. Wenn ich es richtig weiß ist Bootstrap 3 nicht abwärtskompatibel.


    Also meine Frage: Wie seht ihr das? Verwendet ihr Bootstrap und wenn ja in welcher Version?


    Viele Grüße

  • Hallo,


    hm, kann ich das wirklich auch ganz einfach in einer Komponente machen oder gilt die Antwort nur für die Template-Entwicklung.


    Gibt es da keine Konflikte?


    Auf die Schnelle habe ich bei mir mal bei einer Komponente in der Testumgebung die Zeilen


    Zitat

    $document = JFactory::getDocument();
    $document->addStyleSheet('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css', 'text/css');
    $document->addScript('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js');


    im Controller des Administrationsbereiches eingefügt.


    Danach wurde in dieser Komponente aber das Menü in der Navbar nicht mehr angezeigt?

    Viele Grüße
    Astrid

  • @astrid Ja, so ganz trivial ist das nicht. Beide BS-Versionen nebeneinander klappt oft nur mit viel Glück.


    Vielleicht erleuchtet das ein wenig, aber hattest ja extra NICHT nach Template gefragt.
    Joomla 3 Templates verstehen - Der Template HEAD


    Zum Hauruck-Teil bin ich noch nicht gekommen.


    Letztlich läuft es beim Parallelbetrieb dann meist doch auf ein zusätzliches Plugin zur Komponente hinaus, das den HEAD erst aufräumt, wenn die Komponente in's Spiel kommt. Wenn die Komponente nur für ein einzelnes WebPortal ist, geht schon irgendwie...

  • Hallo Later,


    vielen Dank für dein Tutorial. Das hast du für mich sehr gut und ausführlich erklärt.


    Mir ging es hier aber um die Frage mit welcher Bootstap Version ich eine Komponente entwickeln kann, wenn ich diese Komponente auch weitergeben will. Da habe ich ja keinen Einfluss auf das verwendete Template oder die Overrides.


    Wenn nun das Administrationsbereich-Template isis das Menü mit den Bootstrap 2 Klassen .nav und .navbar einfügt, Bootstrap 3 aber nur die Klasse .navbar-nav bietet dann habe ich ein Problem. Dann passt die Anzeige doch auch dann nicht, wenn der Kopfbereich aufgeräumt ist, oder übersehe ich etwas?


    Viele Grüße
    Astrid

  • Hallo,
    @SniperSister
    Oder würdest du vielleicht auch ganz auf Boostrap verzichten und dir die Arbeit machen und selbst CSS schreiben? Überwiegend erstelle ich nur interne Komponenten die nicht responsiv (und auch nicht besonders schön sondern nur funktionsfähig) sein müssen, deshalb habe ich Bootstrap nie in Joomla genutzt. Ich habe nur eine Komponente erstellt, die ich über Git veröffentlicht habe und die ich gerne responsiv machen wollte. Da habe ich aber ganz auf Boostrap verzichtet.
    @jacxx
    Na ja, ich denke auch, dass man vielleicht nicht unbedingt eine bestimmte Boostrap Version braucht. Aber vielleicht mag man lieber mit der Version 3 arbeiten, weil man die besser kennt und sie ja nun auch schon 2 Jahre alt ist.

    Weiß jemand wie ein Update auf Bootstrap 3 in Joomla erfolgen soll? Werden zwei Versionen nebeneinander möglich sein, oder muss man sich über ein Auswahlfeld für eine entscheiden. Und dann kann man vielleicht ein paar Komponenten nicht mehr verwenden …?


    Viele Grüße
    Astrid

  • Ich würde mir nicht die Arbeit machen und das selber schreiben - ist ja das exakte Gegenteil von dem wofür die Bootstrap-Einbindung gedacht ist! Die ist ja nur deshalb im Core, damit nicht jeder Entwickler sein eigenes CSS-Süppchen kocht.


    Was die Bootstrap 2/3 Parallelgeschichte angeht: mein letzter Stand war, dass Bootstrap 2 default bleibt und die Einbindung von Bootstrap 3 dann über Overrides erfolgen soll - aktuell geht das noch nicht komplett, weil einige Ausgaben sich noch nicht overriden lassen (Stichwort: JForm).


    LG
    David

    • Hilfreich

    Als Nachtrag für Programmierer.


    Michael Babker und George Wilson stellen hier ein Plugin-Demo vor (+ Demo-Template), mit dem man JHtml-Methoden "umbiegen" kann, überschreiben. Am Beispiel JHtml::_('bootstrap.carousel'); und auch JHtml::_('bootstrap.loadCss');
    Man kann so seine eigenen, bspw. Bootstrap3-konformen Methoden unterbringen, die die des Joomla-Core ersetzen. eigene Ladepfade, Script-Schnipsel definieren usw. usf. Unerschöpflich die Overridemöglichkeiten kombiniert mit entsprechenden Conditions, nicht nur bezüglich Bootstrap.


    Magische Zeilen sind solche hier:

    Code
    JHtml::register('bootstrap.loadCss', 'PlgSystemBootstrap3::loadCss');


    https://github.com/mbabker/bs3…bootstrap3/bootstrap3.php