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!
Similar Posts
- Joomla - Trecho de ligação ao título do artigo artigo completo
- Joomla adicionar personalizadas agrupamentos usuário
- Joomla recuperar senha administrativa
- Joomla Instalação habilitar manualmente SEF URL
- Uso Proper Way para Joomla getNumRows
- Joomla - Use loadObjectList e foreach para obter lista
- Joomla PDF problema no visor IE7 Fix
- Instalar e Executar Joomla no Ubuntu
- Joomla cargas posição dentro módulo conteúdo
- Faça Joomla localhost trabalho e-mail
- Joomla! - Faça Date Últimas Notícias módulo display
- Maneira de utilizar Joomla loadAssoc
Comentários
37 Comentários até agora






















Poderia dizer, quando esse código deve ser colocado?
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.
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!
Não tem problema, John! muito feliz em saber que seu problema é resolvido!
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?
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.
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!
Oi, Tom
Fico contente por saber isso. :)
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.
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.
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: (
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?
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.
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! :)
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.
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 ((
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
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
?>
Hmmmmm, não foi um erro da minha parte afinal há algum estranho motivo, algumas das código fica cortada.
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.
Oi, teino
onde você viu a mensagem de erro?
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!
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. :)
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!
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: (
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);
)
?>
depois
depois
após jdoc: include type = "cabeça"
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.
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 "=&".
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.
agradecimentos muito! Da Rússia com amor!
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
Oi, Rigo
Estou a planear escrever um plug-in para tornar o cabeçalho script tornar mais flexível.
Muito obrigado por isso - acabou de salvar ainda mais batendo cabeça contra uma parede enquanto usando esse horrível CMS:)
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.