it-swarm-eu.dev

Come cambiare Joomla! 3's bootstrap che conserva l'originale?

Sto creando un nuovo modello per Joomla! 3.3.1. Voglio usare le incredibili funzionalità di bootstrap. Inoltre, ho scaricato un modulo tematico http://bootswatch.com/2/ . Ho sovrascritto i nuovi file dei temi correnti bootstrap.css e bootstrap.min.css.

Voglio usare alcuni metodi come l'originale:

//Add JavaScript Frameworks
  JHtml::_('bootstrap.framework');
//Add Stylesheets
  JHtmlBootstrap::loadCss();
//Load optional rtl Bootstrap css and Bootstrap bugfixes
  JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction);

Come è possibile utilizzare nuovi temi mantenendo i file originali? Potrei anche voler aggiungere opzioni a tema per il modello nel pannello di amministrazione.

4
zkanoca

Non sovrascrivi i file core. Non lo fai mai. Non farlo. Inserisci i file CSS nella directory dei modelli e caricali da lì.

Dai un'occhiata a come funziona il modello Protostar. Il file CSS si trova qui: https://github.com/joomla/joomla-cms/tree/staging/templates/protostar/css e caricato con questa chiamata: $doc->addStyleSheet('templates/' . $this->template . '/css/template.css'); ( https://github.com/joomla/joomla-cms/blob/staging/templates/protostar/index.php#L4 )

Alcune note:

  • JHtml::_('bootstrap.framework'); Non è necessario chiamarlo a meno che non si utilizzino alcune funzioni di Bootstrap JavaScript all'interno del modello. In genere non è il caso. Se un'estensione ne ha bisogno, lo farà caricalo.
  • JHtmlBootstrap::loadCss(); Questo caricherà i file CSS Bootstrap 2 forniti con Joomla. Di solito non dovresti usare questo ma compilare il tuo file CSS modello. Molto probabilmente, il tema che hai scaricato ha già inclusi e personalizzati.
  • JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction); Potrebbe essere utile caricare alcuni aggiustamenti RTL generici. Tuttavia testerei il modello senza quelli prima e se tutto va bene aggiungere le funzionalità RTL.
6
Bakual

Penso che sia esattamente quello che stai cercando:

Per sovrascrivere (non sovrascrivere) standard bootstrap css e/o js con il tuo modello, inserisci questi file in:

/templates/YOUR_TEMPLATE/css/jui/bootstrap.min.css

o

/templates/YOUR_TEMPLATE/js/jui/bootstrap.min.js

Così facendo ogni volta che qualcuno (qualsiasi interno) chiama

// Aggiungi frame JavaScript

JHTML :: _ ( 'bootstrap.framework');

// Aggiungi fogli di stile

JHtmlBootstrap :: loadCss ();

Verranno caricati i file del modello personalizzato.

0
Alexandr