web-dev-qa-db-fra.com

Comment changer Joomla! 3 bootstrap le thème préservant l'original?

Je crée un nouveau modèle pour Joomla! 3.3.1. Je veux utiliser les fonctionnalités étonnantes de bootstrap. En plus de cela, j'ai téléchargé un formulaire de thème http://bootswatch.com/2/ . J'ai écrasé les nouveaux fichiers de thème actuels bootstrap.css et bootstrap.min.css.

Je veux utiliser des méthodes telles que l'original:

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

Comment est-il possible d'utiliser de nouveaux thèmes tout en conservant les fichiers originaux? Je pourrais aussi vouloir ajouter des options de thème pour le modèle dans le panneau d'administration.

4
zkanoca

Vous n'écrasez pas les fichiers de base. Tu ne fais jamais. Ne le fais pas. Placez les fichiers CSS dans votre répertoire de modèles et chargez-les à partir de là.

Regardez comment le modèle Protostar le fait. Le fichier CSS se trouve ici: https://github.com/joomla/joomla-cms/tree/staging/templates/protostar/css et chargé avec cet appel: $doc->addStyleSheet('templates/' . $this->template . '/css/template.css'); ( https://github.com/joomla/joomla-cms/blob/staging/templates/protostar/index.php#L4 )

Quelques notes:

  • JHtml::_('bootstrap.framework'); Vous ne devez pas appeler ceci sauf si vous utilisez certaines Bootstrap) fonctionnalités JavaScript dans votre modèle. Ce qui n'est généralement pas le cas. Si une extension en a besoin, elle Charge le.
  • JHtmlBootstrap::loadCss(); Ceci chargera les fichiers CSS fournis avec Joomla Bootstrap 2). Normalement, vous ne devriez pas l'utiliser, mais compiler votre propre modèle de fichier CSS. Le thème que vous avez téléchargé est très probablement les déjà inclus et personnalisé.
  • JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction); Cela peut sembler judicieux de charger certains ajustements RTL génériques. Cependant, je testerais le modèle sans ces éléments et si tout est correct, ajoutez les fonctionnalités RTL.
6
Bakual

Je pense que c'est exactement ce que vous cherchez:

Pour remplacer (pas écraser) standard bootstrap css et/ou js avec votre modèle, placez simplement ces fichiers dans:

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

ou

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

Donc, en faisant cela chaque fois que quelqu'un (n'importe quel poste) appelle

// Ajouter des cadres JavaScript

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

// Ajouter des feuilles de style

JHtmlBootstrap :: loadCss ();

Vos fichiers de modèles personnalisés seront chargés.

0
Alexandr