Quale versione di Bootstrap deve essere utilizzata v2.3 o v3 nelle nuove estensioni


9

Come sviluppatore di estensioni, sono ancora confuso sulla versione di Bootstrap da utilizzare nella mia prossima estensione.

  • In molte discussioni ho scoperto che Joomla 3.x non utilizzerà bootstrap-3.0.
  • La maggior parte dei provider di modelli utilizza bootstrap v3
  • Molte estensioni utilizzano anche bootstrap v3

Cosa optare?

Risposte:


6

Joomla 3.x viene fornito con i file per Bootstrap 2 e, a causa della compatibilità con le versioni precedenti, è improbabile che ciò cambi nella serie Joomla 3.x.

È importante sapere che Bootstrap è costituito da due aree principali:

  • I file CSS
  • Il framework JavaScript

CSS

Joomla ha quei file inclusi sia come file MENO di origine che come file CSS compilati. Lo stesso Joomla non carica alcun file CSS Bootstrap. Dipende dal modello per decidere se desidera utilizzare quei file o spedirli con i propri file CSS.

Nel backend, il modello attivo di solito è "Isis", che utilizza pesantemente i file Bootstrap 2. Pertanto ha senso utilizzare lo stile Bootstrap 2 nel back-end delle estensioni. Soprattutto perché non ci sono comunque molti modelli di amministrazione alternativi

In frontend tuttavia è un argomento completamente diverso. Non hai idea di quale modello verrà utilizzato dall'utente e su quale framework si baserà. Personalmente mi accontento di usare lo stile Bootstrap 2 anche qui per il solo motivo che l'output core usa anche quelli. Pertanto, è molto probabile che un modello supporti tali classi. Altrimenti fornisce una sostituzione per l'output. Se utilizza le sostituzioni per core, probabilmente l'estensione avrà bisogno anche di una sostituzione.

Ovviamente puoi anche aggiungere supporto per Bootstrap 3, ma ciò significa raddoppiare il tuo lavoro. Tuttavia, non fornirei solo layout Bootstrap 3 senza un'opzione per caricare Bootstrap 2.

JavaScript

Joomla ha metodi per caricare il codice JavaScript Bootstrap, come per i suggerimenti o le schede. Questo codice può e deve essere utilizzato dalle estensioni. Assicurati solo di caricarli nei tuoi layout in modo che siano sostituibili dai modelli, se necessario.


1

Come hai già sottolineato, Joomla 3.x non utilizzerà Bootstrap 3.x, quindi se dovessi decidere di utilizzare Bootstrap 3, l'utente caricherà 2 versioni di Bootstrap che potrebbero causare conflitti e ridurre velocità di caricamento della pagina.

Quello che potresti fare è scrivere un piccolo script per rilevare quale versione di Bootstrap sta alimentando il modello e usare quella versione per modellare l'estensione. Penso che NoNumber o Akeeba offrano la possibilità di scegliere tra la versione di Bootstrap che si desidera utilizzare. Non ricordo quale, ma potrebbe valere la pena dare un'occhiata a come lo fanno.

Ma piuttosto che usare Bootstrap per dare uno stile alla tua estensione, perché non fare uno stile personalizzato come un'altra opzione? Non tutti i modelli sono basati su Bootstrap.

Spero che questo ti dia una piccola intuizione.


Il problema è che dobbiamo fare l'estensione in modo che non sia in conflitto con i provider di modelli. Se eseguiamo uno stile personalizzato, i clienti avranno problemi durante l'utilizzo di modelli diversi.
Shyam,

Potrebbe essere meglio attenersi a Bootstrap 2.x. La maggior parte dei template per Joomla sono ancora basati su questa versione poiché è pre-confezionata con Joomla. Il problema a volte è che non puoi soddisfare ogni singola persona là fuori. Ad esempio, ci sono probabilmente alcuni fornitori di modelli che usano Foundation per alimentare i loro modelli, ma non conosco sviluppatori che supportino le classi Foundation
Lodder

1

Nelle estensioni dovresti sempre cercare di utilizzare la sintassi Bootstrap 2 nelle tue estensioni, specialmente nel back-end. Questa è la versione ufficialmente supportata da Joomla core e quindi significa che farai sempre funzionare il tuo stile come previsto e non devi spedire bootstrap con il tuo modello. Le estensioni fornite con Bootstrap 3 devono includere questo (si noti ad esempio la classe piuttosto grande di Akeeba Strapper fornita con i prodotti Akeeba).

I provider di modelli che utilizzano Bootstrap 3 normalmente consentono la sintassi bootstrap 2 modificando i loro meno file per tenere conto di entrambe le versioni di bootstrap. Coloro che non dovrebbero aspettarsi di dover utilizzare le sostituzioni di template comunque.

Il punto della spedizione di Joomla con Bootstrap 2 e non passare a Bootstrap 3 è quindi che esiste un framework CSS / JS a estensione incrociata ab / c nell'intera serie Joomla.


0

Se hai bisogno di usare Bootstrap 3, secondo me dovresti spaziare sull'intero CSS Bootstrap 3 (come Community Builder V2), ad es. La funzione principale di joomla per modificare i menu e i moduli nel frontend si rompe, se usi BS3 per frontend.

Citazione dal forum di Community Builder:

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

Ma CB2.0 utilizzerà Bootstrap 2 o 3?

Bootstrap 3.

E CB caricherà sempre la libreria Bootstrap completa, anche se solo il modulo di login su un sito), perché Bootstrap sta caricando anche cose superflue.

No, non utilizziamo Twitter Bootstrap JS.

Al momento utilizziamo i suoi CSS (abbiamo altri plug-in jQuery migliori che forniscono la funzionalità JS). Carichiamo anche Twitter Bootstrap con uno spazio dei nomi, quindi è impossibile che sia in conflitto o alterare lo stile al di fuori dello spazio dei nomi. Al momento non lo cariciamo sempre. Carichiamo i nostri template.css e fontawesome.css solo in ogni momento quando viene caricato il template CBs. Nota I moduli CB non utilizzano lo stile CB. Sono progettati per abbinare Joomla 1: 1 in modo che i moduli si adattino correttamente al tuo sito.

Un'altra soluzione è quella di utilizzare un framework come Skeleton o Foundation, per evitare il problema sopra riportato.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.