ti-enxame.com

Como mudar o Joomla! 3 bootstrap tema preservando o original?

Estou criando um novo modelo para o Joomla! 3.3.1 Eu quero usar os recursos incríveis do bootstrap. Além disso, baixei um formulário de tema http://bootswatch.com/2/ . Substituí novos arquivos de tema bootstrap.css e bootstrap.min.css atuais.

Eu quero usar alguns métodos como o 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);

Como é possível usar novos temas enquanto mantém os arquivos originais? Também posso adicionar opções de tema para o modelo no painel de administração.

4
zkanoca

Você não substitui os arquivos principais. Você nunca faz. Apenas não. Coloque os arquivos CSS no diretório de modelos e carregue-os a partir daí.

Veja como o modelo Protostar faz isso. O arquivo CSS está localizado aqui: https://github.com/joomla/joomla-cms/tree/staging/templates/protostar/css e carregado com esta chamada: $doc->addStyleSheet('templates/' . $this->template . '/css/template.css'); ( https://github.com/joomla/joomla-cms/blob/staging/templates/protostar/index.php#L4 )

Algumas notas:

  • JHtml::_('bootstrap.framework'); Você não precisa chamar isso a menos que use alguns recursos JavaScript Bootstrap em seu modelo. O que geralmente não é o caso. Se uma extensão precisar, ela será carregada.
  • JHtmlBootstrap::loadCss(); Isso carregará os Bootstrap 2 arquivos CSS enviados com o Joomla. Normalmente você não deve usar isso, mas compilar seu próprio arquivo CSS de modelo. Provavelmente, o tema que você baixou já os inclui e personaliza.
  • JHtmlBootstrap::loadCss($includeMaincss = false, $this->direction); Pode fazer sentido carregar alguns ajustes genéricos de RTL. No entanto, eu testaria o modelo sem os primeiros e, se estiver tudo bem, adicione os recursos RTL.
6
Bakual

Eu acho que isso exatamente o que você está procurando:

Para substituir (não substituir) padrão bootstrap css e/ou js com seu modelo, basta colocar esses arquivos em:

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

ou

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

Então, fazendo isso sempre que alguém (qualquer extensão) chama

// Adicionar estruturas JavaScript

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

// Adicionar folhas de estilo

JHtmlBootstrap :: loadCss ();

Seus arquivos de modelo personalizados serão carregados.

0
Alexandr