Fevereiro

16

Remover Mootools partir Joomla cabeçalho

16 de fevereiro de 2008 |


Joomla 1.5 é definitivamente um melhor CMS se você compará-lo ao Joomla 1.0. Uma das poucas reclamações que tenho ouvido e experimentado pessoalmente com Joomla 1.5 é a inclusão de Mootools (e caption.js) por omissão Joomla template se você usar o método para exibir informações cabeçalho no seu modelo. Qual é o problema, pode pedir um? Bem, o problema é que o Mootools arquivo que vem com Joomla 1.5 é gritante 74k de tamanho. Do ponto de vista do desenvolvedor, eu nunca pode precisar usar mootools no meu pedido. E de usuário final ponto de vista, este facto torna mais lenta a página inicial carregar vezes especialmente para os usuários que têm conexões lentas, e você nunca tem uma segunda chance para fazer um primeiro impression.Mootools é definitivamente um enquadramento muito útil JavaScript. (E, uma vez que o perfeccionista fundador pode até FOGO seu desenvolvedor, que mostra também que tenha determinado padrão.) Mas, carregando-a sem usar isso realmente irrita alguns people.So por isso que o inferno na terra teriam Joomla 1.5 inclui Mootools? A razão é porque o Joomla 1.5 Admin secção utiliza Mootools. É o C (Controller) na MVC (Model-View-Controller), que precisa dele. Se você tiver instalado a versão mais recente e visto o AJAX efeitos a partir da área administrativa, você pode provavelmente sabe o que estou falando about.Now a questão é saber como remover o JavaScript Mootools e outros arquivos a partir do cabeçalho quando os usuários finais vê-lo, e mantê-lo quando existe um administrador vê-lo? Não se preocupem, aqui está a solução, está abaixo do código eu uso para remover o mootools.js e caption.js

  <? php 
  $ user = & JFactory:: getUser (); 
  if ($ user-> get ( 'hóspede') == 1) ( 
  headerstuff $ = $ this-> getHeadData (); 
  $ headerstuff [ 'scripts'] = Array (); 
  $ this-> setHeadData ($ headerstuff);) 
 ?> 
  <jdoc:include type="head" /> 

No caso de você querer manter o caption.js, (alguns Joomla! Componentes, módulos ou plugins caption.js utiliza, por exemplo: Acajoom), você pode optar por remover apenas mootools. Abaixo está o código PHP eu uso para fazer isso:

  <? php 
  / / Remover mootool automática gerada a partir de cabeçalho 
  headerstuff $ = $ this-> getHeadData (); 
  reset ($ headerstuff [ 'scripts']); 
  $ moo = key ($ headerstuff [ 'scripts']); 
  unset ($ headerstuff [ 'scripts'] [$ moo]); 
  $ this-> setHeadData ($ headerstuff); 
 ?> 
  <jdoc:include type="head"> 

Esperamos ajudar essas dicas!

Cavador Facebook Google Newsvine Reddit Slashdot Technorati Windows Live Yahoo del.icio.us



Similar Posts

Comentários

Nome (obrigatório)

E-mail (obrigatório)

Website

Diga a sua opinião

37 Comentários até agora

  1. Simeão em março 13, 2008 3:45 pm

    Poderia dizer, quando esse código deve ser colocado?

  2. admin em março 14, 2008 7:06 am

    Oi, Simeon

    Ele deve ser colocado dentro do cabeçalho (<head> </ head>), do seu modelo índice arquivo (index.php).

    Por exemplo, se você usar o modelo que vem com beez Joomla, basta navegar a partir de raiz para Joomla templates / beez, sob a beez pasta. index.php encontrar o arquivo, abri-lo, basta colocar o código dentro do cabeçalho.

  3. João em 17 de abril de 2008 8:46 am

    Uau! Obrigado.

    Recomendo este código, se você está tendo conflitos com lightbox.js e mootools.js.

    Eu substituí o com o código fornecido e ela funcionou perfeitamente!

    Lightbox agora funciona como deveria.

    Obrigado novamente!

  4. admin em abril 28, 2008 9:25 am

    Não tem problema, John! muito feliz em saber que seu problema é resolvido!

  5. Tom em 7 de maio de 2008 12:04 am

    Oi,
    Semper obter o seguinte erro ao colocar o seu código no cabeçalho do meu index.php:

    Erro de análise: Erro de sintaxe, inesperado ';', na expectativa T_PAAMAYIM_NEKUDOTAYIM / wwwroot / ... / htdocs / templates / rhuk_milkyway / index.php on line 21

    O que tenho que fazer para mudar?

  6. admin em 7 de maio de 2008 4:24 am

    Oi, Tom

    Você escolhe o primeiro chunck de código a partir do acima? Desculpe, eu achei um erro, você pode tentar copiar colar o código novamente? Deixe-me saber se o problema persiste.

  7. Tom em 8 de maio de 2008 7:33 am

    Oi,

    na verdade eu tive problemas com o segundo * a * pedaço de código (um para eliminar o de mootools apenas o cabeçalho). Mas eu tiver inserido o primeiro código e que agora parece estar a funcionar muito bem.

    Eu espero não precisar caption.js no futuro ...

    Obrigado!

  8. admin em 9 de maio de 2008 3:53 am

    Oi, Tom

    Fico contente por saber isso. :)

  9. Steffi em 7 de julho de 2008 5:03 am

    Thx para o código! Mas o certo é que vejo que desativá-lo com o seu código funciona apenas para hóspedes não registrada? Então ele não é solução para a utilização de luz, como para os editores ou editores querem ver as imagens em um lightbox, e também pretende editar as suas observações.

  10. admin em 7 de julho de 2008 10:49 am

    Oi, Steffi. É uma boa questão, talvez você pode tentar ajustar a terceira linha: $ user-> get ( 'hóspede') para algo mais adequado às suas necessidades.

  11. Steffi em julho 12, 2008 1:19 am

    Bem, posso mudá-la para que ela funciona também para utilizadores registados. Mas se eu mudar as coisas para os editores ou editores, eles vão ver o lightboxes nas fotos, mas eles já não são capazes de editar as suas observações. portanto, não há solução para esse problema quando autores queres ver a luz E pretende editar as suas observações: (

  12. admin em julho 15, 2008 4:32 am

    Desculpe, Steffi

    Estou um pouco confusa, se você precisar o javascript arquivos o tempo todo, por que você quer removê-la em primeiro lugar?

    exatamente como você deseja que o seu applcation ao trabalho?

  13. unikyu em 17 de julho de 2008 6:55 am

    Oi,

    Big Obrigado por este artigo. Eu sou novo a CMS's e Joomla. Iniciou a construção de um site em abril e foram tentar tirar o meu cabelo para o acelerar desde então. Finalmente calculei mootools tinha algo a ver com isso ... e voila já descobriu o seu artigo.

    Pergunto-me se podia escrever a sintaxe exacta para a remoção do mootools para ambos os hóspedes e usuários registrados parecidos ... Você sugeriu que o código seja modificado para atender uma necessidade do usuário, mas eu sou um novato tal, não sei como incluir tanto hóspedes e usuários registrados e excluem admin.

    Espero ter feito o meu pedido claro. Obrigado novamente.

  14. admin em julho 18, 2008 5:09 am

    Oi, unikyu

    Acho que o que se segue é o que você precisa:

    <? php
    $ user = & JFactory:: getUser ();
    if ($ user-> get ( 'hóspede') == 1 | | $ user-> get ( 'usuário') == 'Registrado') (
    headerstuff $ = $ this-> getHeadData ();
    $ headerstuff [ 'scripts'] = Array ();
    $ this-> setHeadData ($ headerstuff);)
    ?>

    Espero que ajude! :)

  15. unikyu em julho 19, 2008 4:04 am

    Mais uma vez, agradeço-lhe. Tentei os dois códigos e as joomla desempenho selecionador diz-me que mootools foi removido e que o site deveria estar correndo mais rápido. No entanto, é-me difícil saber se o desempenho do site é, de facto, melhorar (tais como deveria, sem um grande arquivo), porque as páginas continuam a abrir incongruente (por vezes mais rápido e em outros momentos tão lenta a ponto de que tempo de descanso ).

    Tenho vindo a descobrir, no dia que tentei este 'remover mootools «código, que a empresa de hospedagem está ciente de que existe algum problema com seu servidor de banco de dados da movimentação pedidos. Eles dizem que vão melhorar em 2 semanas.

    Vai esperar até então para lhe dar uma informação adequada sobre os efeitos deste código ... Agora, o desempenho do site continua a ser grrrr! * sorriso *

    Mas obrigado por fornecer esta opção.

  16. teino em 8 de agosto de 2008 3:33 am

    1. getHeadData ();
    4. reset ($ headerstuff [ 'scripts']);
    5. $ moo = key ($ headerstuff [ 'scripts']);
    6. unset ($ headerstuff [ 'scripts'] [$ moo]);
    7. $ this-> setHeadData ($ headerstuff);
    8. ?>
    9.

    Eu tenho uma mensagem de erro

    Classe não está definido
    caption.js (linha 22)
    var JCaption = new Classe ((

  17. Agent007 em agosto 23, 2008 6:19 pm

    Oi

    Obrigado pela informação muito útil. Eu tentei usar o código segundo bloco (o mootools remover apenas em parte) com um "bloco se" para clientes e usuários registrados com base naquilo que foi recomendado a uikyu. Aqui está o código:

    get ( 'hóspede') == 1) | | $ user-> get ( 'usuário') == 'Registrado') (
    headerstuff $ = $ this-> getHeadData ();
    reset ($ headerstuff [ 'scripts']);
    $ moo = key ($ headerstuff [ 'scripts']);
    unset ($ headerstuff [ 'scripts'] [$ moo]);
    $ this-> setHeadData ($ headerstuff);
    ) / / Fim se
    ?>

    No entanto, quando se trabalha bem como para os nossos clientes, não para utilizadores registados. A situação permaneceu a mesma, mesmo quando o "caso bloco" foi removido.

    Aliás, o seu primeiro bloco código (para a remoção de caption.js e mootools funcionou bem para os nossos clientes e usuários registrados.

    Alguma idéia? Eu realmente deseja remover apenas mootools exclusivamente para clientes e usuários a partir do 'Registrado' grupo.

    Atenciosamente

  18. Agent007 em agosto 23, 2008 6:24 pm

    Desculpe, eu só notei que na remoção meus comentários a partir do código, eu removida inadvertidamente parte da estrutura foi removido também. Aqui está mais uma vez o bloco completo:

    get ( 'hóspede') == 1) | | $ user-> get ( 'usuário') == 'Registrado') (
    headerstuff $ = $ this-> getHeadData ();
    reset ($ headerstuff [ 'scripts']);
    $ moo = key ($ headerstuff [ 'scripts']);
    unset ($ headerstuff [ 'scripts'] [$ moo]);
    $ this-> setHeadData ($ headerstuff);
    ) / / Fim se
    ?>

  19. Agent007 em agosto 23, 2008 6:26 pm

    Hmmmmm, não foi um erro da minha parte afinal há algum estranho motivo, algumas das código fica cortada.

  20. admin em agosto 24, 2008 2:47 am

    Oi, Agent007

    O script é trabalhar bem para você neste momento?

    você pode tentar usar a 'visão simples' quando copiar e colar o meu código em seu editor de texto, ou digite-o sem copiar e colar.

  21. admin em agosto 24, 2008 2:48 am

    Oi, teino

    onde você viu a mensagem de erro?

  22. Andre em agosto 24, 2008 4:42 am

    Relativamente Teino da mensagem:
    "Eu tenho uma mensagem de erro
    Classe não está definido
    caption.js (linha 22)
    var JCaption = new Classe ((
    "
    Já percebi isso também, no Firefox do Firebug. O erro acontece na mídia / sistema / js / caption.js, utilizando a segunda parte do código, que remove apenas mootools.

    Acelera carregamento tempo embora!

  23. admin em agosto 24, 2008 8:00 am

    Por agora, tente adicionar esta linha, após o segundo pedaço de código: <script type = "text / javascript" src = "<? Php echo $ this-> baseurl?> / Media / system / js / caption.js"> < / script>

    Eu vou descobrir um melhor correção quando estou livre. :)

  24. Andre em agosto 24, 2008 3:14 pm

    Nah. Isso dá-me 2 Firebug erros, a classe não foi definido.
    Já inserido o primeiro pedaço de código no cabeçalho, não existem erros e não parece que ela afeta qualquer coisa no site para que eu vou ficar com isso.

    Graças aos esforços de mate!

  25. Francesco em 1 º de setembro de 2008 11:17 am

    Nenhum de vocês me ajudar .. solução causar quando eu tento inserir o seu código no IE i ver meia página negra .. e outro com o qual não consegui ....

    Eu não entendo: (

    Ajudem-me: (

  26. FMJ em 7 de setembro de 2008 3:33 am

    Parece-obra, mesmo para os utilizadores registados acrescentando o mesmo pedaço de código após

    get ( 'hóspede') == 1 | | $ user-> get ( 'usuário') == 'Registrado') (
    headerstuff $ = $ this-> getHeadData ();
    reset ($ headerstuff [ 'scripts']);
    moo $ chave = ($ headerstuff [ 'scripts']);
    unset ($ headerstuff [ 'scripts'] [$ moo]);
    $ this-> setHeadData ($ headerstuff);
    )
    ?>

  27. FMJ em 8 de setembro de 2008 2:05 am

    depois

  28. FMJ em 8 de setembro de 2008 2:05 am

    depois

  29. FMJ em 8 de setembro de 2008 2:06 am

    após jdoc: include type = "cabeça"

  30. Brent Kerr em 8 de setembro de 2008 4:09 am

    Hey, obrigado pelo script.

    Achei que devia saber, eu vejo "= &" na linha 2 do primeiro pedaço de código ao invés de "= &", que obviamente dá um erro quando copiados diretamente. Talvez o seu blog é software 'limpá-la para cima'?

    Felicidades,
    Brent.

  31. Brent Kerr em 8 de setembro de 2008 4:11 am

    AAAHH, o meu post deu um exemplo do problema - como irónico. O que eu quis dizer foi:
    Eu vejo "= & amp;" (o código HTML para o caractere '&') na linha 2 do primeiro pedaço de código ao invés de "=&".

  32. admin em 8 de setembro de 2008 6:39 am

    Oi, Brent Kerr

    agradecimentos para o recordar! :)

    Penso que é porque uma atualização recente wordpress, que agora torna HTML de maneira diferente. Acho que precisa ler através das minhas postagens antigas para corrigir este tipo de problema.

  33. seralex em setembro 24, 2008 2:37 pm

    agradecimentos muito! Da Rússia com amor!

  34. Rigo em 7 de outubro de 2008 11:41

    Será que o seu código, praticamente tire qualquer código cabeça. Estou usando o plugin Toheader para colocar código Javascript para o cabeçalho de determinados artigos e, por algum motivo ele não está sendo exibido depois de inserir o seu código. Então acho que a questão é que o seu código é parar todas as formas cabeçalho código sendo gerado cabeça exceto no código do modelo arquivos? Espero que faça sentido
    THankis

  35. admin em 9 de outubro de 2008 10:28 am

    Oi, Rigo

    Estou a planear escrever um plug-in para tornar o cabeçalho script tornar mais flexível.

  36. Jay em 15 de outubro de 2008 1:52 am

    Muito obrigado por isso - acabou de salvar ainda mais batendo cabeça contra uma parede enquanto usando esse horrível CMS:)

  37. Jalil em novembro 24, 2008 7:34 pm

    oi,

    muito bom trabalho.

    finalmente podemos respirar mais fácil, sem se preocupar
    vacas sobre roaming nos nossos sites.

    Gostaria apenas de referir que a observação que fez sobre
    "Mootools o arquivo que vem com Joomla 1.5 é gritante 74k de tamanho. "Não é bastante precisa.

    Não é lento, devido ao seu tamanho e, de facto, é relativamente pequena palavra (i ter utilizado JavaScripts 3 vezes o tamanho desempenho sem problemas), mas é a forma como o trabalho moos que degrada o desempenho assim. as vacas são apenas demasiado gordo em processos.

    u sei o que quero dizer se você comparar os backends de 1,0 e 1,5. mas é claro que parece tão doce na extremidade da frente, eu fico com a minha opinião 1,0 é melhor.

    ter falado a minha mente. :)

    ta.

Patrocinadores




Ligações