Febbraio
16
Rimuovere Mootools Da Joomla Header
16 febbraio 2008 |
Joomla 1.5 è sicuramente un CMS meglio se la si raffronta a Joomla 1.0. Una delle poche lamentele che ho sentito e vissuto personalmente con Joomla 1.5 è l'inclusione di Mootools (e caption.js) per impostazione predefinita se si utilizza il metodo Joomla modello per visualizzare informazioni nel tuo modello. Qual è il problema, ci si può chiedere? Ebbene, il problema è che il file che viene Mootools con Joomla 1.5 è enorme in termini di dimensioni 74k. Da sviluppatore punto di vista, io non può mai bisogno di usare mootools nella mia domanda. E dalla fine del punto di vista, questo è veramente rallenta i tempi di caricamento pagina iniziale in particolare per gli utenti che hanno connessioni più lente, e non avete mai avere una seconda possibilità per fare una prima impression.Mootools è sicuramente un quadro molto utile JavaScript. (E poiché il perfezionista fondatore può anche FUOCO suoi sviluppatori, che mostra anche che è certo standard.), Ma senza l'utilizzo di carico è davvero irrita alcuni people.So perché l'inferno sulla terra avrebbe Joomla 1,5 include Mootools? Il motivo è dovuto al fatto che Joomla 1,5 Amministratore sezione utilizza Mootools. E 'la C (Controller) nel MVC (Model-View-Controller), che ne ha bisogno. Se avete installato la versione più recente e ha visto la AJAX effetti l'amministratore zona, si può probabilmente sa di cosa sto parlando about.Now la questione è come rimuovere il Javascript Mootools e altri file dal intestazione quando gli utenti finali di vedere, mantenere e che esiste quando un amministratore lo vede? Non ti preoccupare, qui è la soluzione, al di sotto è il codice utilizzato per rimuovere il mootools.js e caption.js
<? php $ user = & JFactory:: getUser (); if ($ user-> get ( 'guest') == 1) ( headerstuff $ = $ this-> getHeadData (); $ headerstuff [ 'script'] = array (); $ this-> setHeadData ($ headerstuff);) ?> <jdoc:include type="head" />
Nel caso in cui si desidera conservare il caption.js, (alcuni Joomla! Componenti, moduli o plugin utilizza caption.js, per esempio: Acajoom), è possibile scegliere di rimuovere mootools solo. Di seguito è riportato il codice PHP utilizzato per farlo:
<? php / / Rimuovi automaticamente generati da mootool intestazione headerstuff $ = $ this-> getHeadData (); reset ($ headerstuff [ 'script']); Moo chiave = $ ($ headerstuff [ 'script']); unset ($ headerstuff [ 'script'] [$ Moo]); $ this-> setHeadData ($ headerstuff); ?> <jdoc:include type="head">
Speranza aiutare questi suggerimenti!
Interventi simili
- Joomla aggiungere Custom User Groups
- Joomla - Link Stralcio articolo a titolo Articolo completo
- Joomla Recupera Password amministratore
- Manuale di installazione di Joomla Attiva SEF URL
- Modo corretto per l'utilizzo di Joomla getNumRows
- Joomla - Utilizzare loadObjectList e foreach ottenere l'elenco
- Joomla PDF Problema visualizzazione in IE7 Fix
- Installare ed eseguire Joomla su Ubuntu
- Joomla Carichi posizione all'interno del modulo contenuto
- Marca Joomla localhost e-mail di lavoro
- Joomla! - Portare Attualità Modulo Display Data
- Modo di usare Joomla loadAssoc
Commenti
38 Commenti finora



































Potrebbe dire, se questo codice dovrebbe essere messo?
Ciao, Simeone
Deve essere collocato all'interno della testa (<head> </ head>) del tuo modello di file di indice (index.php).
Ad esempio, se si utilizza il modello che viene Beez con Joomla, basta navigare da root per Joomla templates / Beez, sotto la cartella Beez. trovare il file index.php, aprire il sistema, è sufficiente posizionare il codice all'interno della testata.
Wow! Grazie.
Raccomando questo codice in caso di conflitti con lightbox.js e mootools.js.
Ho sostituito il codice con il fornite e ha funzionato perfettamente!
Lightbox ora funziona come dovrebbe.
Grazie ancora!
Nessun problema, Giovanni! molto felice di sapere che il problema della risolto!
Salve,
Ho sempre il seguente messaggio di errore quando l'immissione del codice nella testata del mio index.php:
Parse Error: errore di sintassi, inaspettato ';', in attesa di T_PAAMAYIM_NEKUDOTAYIM / wwwroot / ... / htdocs / templates / rhuk_milkyway / index.php on line 21
Cosa devo cambiare?
Ciao, Tom
Ha scelto la prima chunck del codice di cui sopra? Scusa, ho trovato un errore di battitura, si può provare a copiare incollare nuovamente il codice? Vorrei sapere se il problema persiste.
Salve,
effettivamente ho avuto dei problemi con la seconda * * porzione di codice (quello di eliminare mootools da solo l'intestazione). Ma non ho inserito il codice prima ora e che sembra funzionare bene.
Spero di non dover caption.js in futuro ...
Grazie!
Ciao, Tom
Glad to know that. :)
Thx per il codice! Ma vedo bene che la disattivazione con il tuo codice non funziona solo per gli ospiti? Quindi non è la soluzione per l'utilizzo di raccolta, come per gli editori o editori desidera vedere le immagini in una raccolta, e inoltre a modificare le loro osservazioni.
Ciao, Steffi. È un buon punto, forse si può provare a modificare la terza riga: $ user-> get ( 'guest') in qualcosa di più adatto alle vostre esigenze.
Ebbene, ho potuto cambiare in modo che esso funziona anche per gli utenti registrati. ma se i cambiamenti che fino agli editori o editori, che vedrà l'raccolte nelle immagini, ma non sono più in grado di modificare le loro osservazioni. quindi non c'è soluzione a questo problema, gli autori vogliono vedere la lightbox e desidera modificare le loro osservazioni: (
spiacenti, Steffi
Sono un po 'confuso, se è necessario il file javascript tutto il tempo, perché si desidera rimuoverla, in primo luogo?
esattamente come vuoi il tuo applcation a lavorare?
Salve,
Big Grazie per questo articolo. Sono di nuovo CMS e Joomla. Iniziare la costruzione di un sito nel mese di aprile e sono stati tirando fuori i miei capelli cercando di velocità che fino da allora. Infine figurato mootools avuto qualcosa a che fare con essa e voilà ... ora hanno scoperto il vostro articolo.
Mi chiedo se si possa scrivere la sintassi esatta per la rimozione di mootools per entrambi gli ospiti e gli utenti registrati, sia ... È suggerito che il codice venga modificato per soddisfare le necessità di un utente, ma io sono un novizio tale, non so come includere sia gli ospiti e gli utenti registrati ed escludere admin.
Spero di aver fatto la mia richiesta chiara. Grazie ancora.
Ciao, unikyu
Penso che il successivo è quello di cui hai bisogno:
<? php
$ user = & JFactory:: getUser ();
if ($ user-> get ( 'guest') == 1 | | $ user-> get ( 'usertype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
$ headerstuff [ 'script'] = array ();
$ this-> setHeadData ($ headerstuff);)
?>
hope it helps! :)
Ancora una volta, vi ringrazio. Ho provato entrambi i codici e le prestazioni joomla livellatrici mootools mi dice che è stato rimosso e che il sito deve essere in esecuzione più veloce. Tuttavia, è difficile per me sapere se le prestazioni del sito è, infatti, il miglioramento (come si dovrebbe, senza una tale massa di file), perché le pagine continuano ad aprire incoerente (a volte veloce e altre volte in modo lento al punto che essi time out ).
Sono venuto a sapere, il giorno ho provato questo 'rimuovere mootools' di codice, che la società di hosting è consapevole del fatto che c'è qualche problema con i loro server per la gestione delle richieste di dati. Si dice che l'aggiornamento in 2 settimane.
Può attendere fino ad allora di darvi un feedback adeguato in merito agli effetti del presente codice ... Al momento, le prestazioni del sito continua ad essere grrrr! * sorriso *
Ma grazie per la fornitura di tale opzione.
1. getHeadData ();
4. reset ($ headerstuff [ 'script']);
5. Moo chiave = $ ($ headerstuff [ 'script']);
6. unset ($ headerstuff [ 'script'] [$ Moo]);
7. $ this-> setHeadData ($ headerstuff);
8. ?>
9.
Ho un messaggio di errore
Classe non è definita
caption.js (linea 22)
var JCaption = new Class ((
Salve
Grazie per le informazioni molto utili. Ho provato con il secondo blocco di codice (il mootools rimuovere solo una parte) con un "caso isolato" per gli ospiti e gli utenti registrati sulla base di quello che si consiglia di uikyu. Ecco il codice:
get ( 'guest') == 1) | | $ user-> get ( 'usertype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'script']);
Moo chiave = $ ($ headerstuff [ 'script']);
unset ($ headerstuff [ 'script'] [$ Moo]);
$ this-> setHeadData ($ headerstuff);
) / / Fine se
?>
Tuttavia, se si come funziona bene per gli ospiti, non per gli utenti registrati. La situazione è rimasta la stessa anche quando il "caso isolato" è stato rimosso.
Per inciso, il primo blocco di codice (per la rimozione di caption.js e mootools lavorato bene per gli ospiti e gli utenti registrati.
Qualsiasi idee? Ho bisogno di rimuovere solo mootools unicamente per gli ospiti e gli utenti dalle 'Iscritti' gruppo.
Saluti
Scusa, ho appena notato che le mie osservazioni in grado di eliminare dal codice, ho inavvertitamente rimosso parte della struttura è stato rimosso in quanto bene. Ecco il testo completo del blocco ancora una volta:
get ( 'guest') == 1) | | $ user-> get ( 'usertype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'script']);
Moo chiave = $ ($ headerstuff [ 'script']);
unset ($ headerstuff [ 'script'] [$ Moo]);
$ this-> setHeadData ($ headerstuff);
) / / Fine se
?>
Hmmmmm non è stato un errore da parte mia, dopo tutto, per qualche strano motivo, un certo numero di codice viene tagliata fuori.
Ciao, Agent007
È lo script lavora bene per te adesso?
si potrebbe provare a utilizzare il 'vista pianura' quando si copia e incolla il mio codice al tuo editor di testo, o il tipo che senza copiare e incollare.
Ciao, teino
dove hai visto il messaggio di errore?
Per quanto riguarda Teino del messaggio:
"Ho un messaggio di errore
Classe non è definita
caption.js (linea 22)
var JCaption = new Class ((
"
Ottenere che anche in Firefox Firebug. L'errore si verifica in media / system / js / caption.js, utilizzando il secondo pezzo di codice, che rimuove solo mootools.
Velocità di caricamento tempo però!
Per ora, provare a aggiungere questa linea, dopo il secondo pezzo di codice: <script type = "text / javascript" src = "<? Php echo $ this-> baseurl?> / Media / system / js / caption.js"> < / script>
Vorrei trovare una migliore correzione quando sarò libero. :)
Nah. Questo mi dà 2 errori di Firebug, la classe non definita.
Ho inserito il primo pezzo di codice in testa, non di errori e non sembra incidere su tutto il sito in modo I'll bastone con quella.
Grazie agli sforzi mate!
Nessuno vostra soluzione help me .. causa quando cerco di inserire il codice in IE vedo mezza pagina nera .. e l'altra parte, senza posizione ....
Non capisco: (
Help me: (
Sembra funzionare anche per gli utenti registrati aggiungendo lo stesso pezzo di codice dopo
get ( 'guest') == 1 | | $ user-> get ( 'usertype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'script']);
Moo chiave = $ ($ headerstuff [ 'script']);
unset ($ headerstuff [ 'script'] [$ Moo]);
$ this-> setHeadData ($ headerstuff);
)
?>
dopo
dopo
dopo jdoc: include type = "testa"
Ehi, grazie per lo script.
Basta pensare che dovreste sapere; vedo "=" sulla linea 2 della prima porzione di codice al posto di "=" che, evidentemente, dà un messaggio di errore quando copiati direttamente. Forse il tuo blog è il software 'di pulizia su'?
Salute,
Brent.
Aaahh, il mio post ha dato un esempio del problema - come ironico. Che cosa ho voluto dire era:
Vedo "= & amp;" (il codice HTML per il carattere '&') sulla linea 2 della prima porzione di codice, invece di "=&".
Ciao, Brent Kerr
grazie per il puntamento it out! :)
Credo che sia perché un recente aggiornamento wordpress, si rende ora HTML diversamente. Indovinate ho bisogno di leggere i miei vecchi post per risolvere questo tipo di problema.
thanks a lot! Dalla Russia con amore!
Il vostro codice, molto tenere testa a qualsiasi codice. Sto usando il plugin Toheader a mettere il codice JavaScript nella intestazione di alcuni articoli e, per qualche motivo non viene visualizzato dopo aver inserito il codice. Quindi penso che la questione è il codice di arresto tutti intestazione forma di codice, ad eccezione di generare codice in testa il modello di file? Spero che il senso
THankis
Ciao, rigo
Ho in programma di scrivere un plugin per rendere l'intestazione script di rendere più flessibile.
Grazie molto per questo - appena salvato ancora più banging testa contro un muro, mentre usando questa terribile CMS:)
salve,
molto piacevole lavorare.
finalmente siamo in grado di respirare più facilmente, senza preoccuparsi di
vacche in roaming su sui nostri siti.
Vorrei solo sottolineare che l'osservazione è fatta su
"Mootools il file che viene fornito con Joomla 1.5 è enorme in termini di dimensioni 74k. "Non è abbastanza preciso.
Non è lento a causa delle sue dimensioni e nel fatto che è relativamente piccolo (io ho usato javascript per 3 volte la dimensione, senza problemi di prestazioni), ma è il modo in cui il lavoro che moos degrada le prestazioni così. le mucche è troppo grasso nei processi.
u know what i mean, se si confronta il backend di 1,0 e 1,5. ma naturalmente si guarda sempre in modo dolce al front-end, i soggiorni con 1,0 mio parere è meglio.
ha parlato la mia mente. :)
ta.
Vorrei utilizzare questo metodo di escludere. Js nel mio progetti
http://reklama-komplex.kiev.ua