Februari
16
Verwijder Mootools van Joomla header
16 februari 2008 |
Joomla 1.5 is zeker een betere CMS als je het vergelijkt met Joomla 1.0. Een van de weinige klachten die ik heb gehoord en persoonlijk ervaren met Joomla 1.5 is de integratie van Mootools (en caption.js) standaard als je gebruik maakt van Joomla template methode om header-informatie in uw sjabloon. Wat is het probleem, zou men kunnen vragen? Nou, het probleem is dat de Mootools bestand dat geleverd wordt met Joomla 1.5 is maar liefst 74k groot zijn. Van ontwikkelaar is van mening dat ik misschien nooit gebruik hoeven te maken mootools in mijn applicatie. En vanaf eindgebruiker oogpunt is dit echt een rem op de eerste pagina's worden geladen keer vooral voor gebruikers die met een tragere verbindingen, en je krijgt nooit een tweede kans om een eerste impression.Mootools is zeker een zeer nuttige JavaScript-kader. (En aangezien de oprichter perfectionist kan zelfs brand zijn ontwikkelaar, dat ook blijkt dat bepaalde standaard.) Maar bij het laden zonder gebruik te maken van het echt irriteert sommige people.So waarom de hel op aarde zou Joomla 1.5 omvat Mootools? De reden hiervoor is omdat Joomla 1.5 Admin sectie maakt gebruik van Mootools. Het is de C (controleur) in de MVC (Model-View-Controller) die deze nodig heeft. Als u de laatste versie en gezien de AJAX-effecten van de admin gebied, kunt u waarschijnlijk weet waarover ik praat about.Now de vraag is hoe het verwijderen van de Mootools en andere JavaScript-bestanden uit de kop toen de eindgebruikers zien, en bewaar deze bestaat wanneer een beheerder ziet? Geen nood, hier is de oplossing, dan is de code die ik gebruik voor het verwijderen van de mootools.js en caption.js
<? php $ user = & JFactory:: getUser (); if ($ user-> get ( 'gast') == 1) ( headerstuff $ = $ this-> getHeadData (); $ headerstuff [ 'scripts'] = array (); $ this-> setHeadData ($ headerstuff);) ?> <jdoc:include type="head" />
In het geval dat u wilt behouden de caption.js (sommigen Joomla! Onderdelen, modules of plugins caption.js gebruikt, bijvoorbeeld: Acajoom), kunt u ervoor kiezen om alleen mootools. Hieronder vindt u de PHP-code gebruik ik om dat te doen:
<? php / / Verwijder automatisch gegenereerd mootool uit header headerstuff $ = $ this-> getHeadData (); reset ($ headerstuff [ 'scripts']); moo $ key = ($ headerstuff [ 'scripts']); unset ($ headerstuff [ 'scripts'] [$ moo]); $ this-> setHeadData ($ headerstuff); ?> <jdoc:include type="head">
Ik hoop dat deze tips helpen!
Soortgelijke Posts
- Joomla - Link fragment artikel titel naar volledige artikel
- Joomla toevoegen Aangepaste User Groups
- Joomla admin wachtwoord ophalen
- Joomla setup handmatig inschakelen SEF URL
- Een goede manier om gebruik te maken Joomla getNumRows
- Joomla - Gebruik loadObjectList en foreach lijst te krijgen
- Joomla PDF display probleem in IE7 Fix
- Installeren en te draaien op Ubuntu Joomla
- Joomla ladingen positie module binnen inhoud
- Zorg Joomla localhost e-mail werk
- Joomla! - Zorg Laatste Nieuws module display datum
- Weg naar het gebruik Joomla loadAssoc
Reacties
37 Reacties tot nu toe



















Kunt u vertellen waar deze code moet worden gelegd?
Hoi, Simeon
Opgemerkt dient te worden geplaatst in de header (<head> </ head>) van uw sjabloon index-bestand (index.php).
Bijvoorbeeld, als u de sjabloon BEEZ die meegeleverd wordt met Joomla, net navigeren van root naar Joomla templates / BEEZ, onder de BEEZ map. vinden het index.php bestand, open het op, plaatst de code in de header.
Wow! Bedankt.
Beveel ik deze code als u die in strijd is met lightbox.js en mootools.js.
Ik verving de met de code die u hebt geleverd en het werkte perfect!
Lightbox werkt nu zoals het hoort.
Nogmaals bedankt!
Geen probleem, John! erg blij om te weten dat uw probleem is opgelost!
Hoi,
Ik krijg altijd de volgende foutmelding bij het plaatsen van uw code in de kop van mijn index.php:
Parseerfout: syntax error, onverwachte ";", verwacht T_PAAMAYIM_NEKUDOTAYIM in / WWWRoot / ... / htdocs / templates / rhuk_milkyway / index.php on line 21
Wat heb ik moeten veranderen?
Hallo, Tom
Heeft u kiest voor de eerste chunck van code uit het bovenstaande? Sorry, ik vond een typfout, kun je proberen kopie plak de code opnieuw in? Laat het me weten als het probleem zich blijft voordoen.
Hoi,
eigenlijk had ik de problemen met de * tweede * stuk code (de ene te verwijderen mootools alleen uit de header). Maar ik heb de eerste code ingevoegd nu en dat lijkt te werken netjes.
Ik hoop dat ik het niet nodig caption.js in de toekomst ...
Bedankt!
Hallo, Tom
Blij dat te weten. :)
Thx voor de code! Maar zie ik het juist dat deze uitschakelen met uw code werkt alleen voor niet-gasten? Dus het is geen oplossing voor het gebruik van Lightbox, zoals voor de redacteuren of uitgevers willen dat de beelden in een lightbox, en ook wilt bewerken hun inzendingen.
Hoi, Steffi. wat een goed punt, misschien kunt u proberen dit pas de derde regel: $ user-> get ( 'gasten') naar iets meer geschikt is voor uw behoeften.
Nou, ik kon veranderen en te zorgen dat het werkt ook voor geregistreerde gebruikers. maar als ik het aan redacteuren of uitgevers, zien ze de lichtboxen in de beelden, maar ze zijn niet meer in staat om te bewerken hun inzendingen. er is dus geen oplossing voor dit probleem zich voor als auteurs willen dat de lichtbak EN wilt bewerken hun standpunten bekend te maken: (
sorry, Steffi
Ik ben een beetje verward, als je de javascript-bestanden moeten de hele tijd, waarom wil je dan om hem te verwijderen in de eerste plaats?
hoe wil je je applcation om te werken?
Hoi,
Big Dank u voor dit artikel. Ik ben nieuw voor CMS en Joomla. Gestart bouw van een site in april en hebben zich uit mijn haar pogingen om de zaken te bespoedigen sinds die tijd. Tot slot dacht mootools had iets te maken heeft en voila ... nu hebben ontdekt je artikel.
Ik vraag me af of kun je de exacte syntaxis voor het verwijderen van mootools voor zowel gasten en geregistreerde gebruikers alike ... U suggereerde dat de code zodanig worden aangepast dat die geschikt zijn voor een gebruiker nodig heeft, maar ik ben zo een nieuweling, ik weet niet hoe te omvatten zowel Gasten en geregistreerde gebruikers en uitsluiten admin.
Ik hoop dat ik heb mijn verzoek duidelijk. Nogmaals bedankt.
Hoi, unikyu
Ik denk dat het volgende is wat u nodig heeft:
<? php
$ user = & JFactory:: getUser ();
if ($ user-> get ( 'gast') == 1 | | $ user-> get ( 'gebruikerstype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
$ headerstuff [ 'scripts'] = array ();
$ this-> setHeadData ($ headerstuff);)
?>
hoop dat het helpt! :)
Nogmaals, ik dank u daarvoor. Ik heb geprobeerd beide codes en de prestaties joomla sorteersysteem heeft me verteld dat mootools was verwijderd en dat de site moet worden uitgevoerd sneller. Het is echter moeilijk voor mij om te weten of de prestaties site is in feite te verbeteren (zoals het zou moeten zonder een dergelijke massale dossier), omdat de pagina's open blijven inconsistent (soms snel en op andere momenten zo traag is bij het punt dat zij een time out ).
Ik ben gekomen om uit te vinden, op de dag heb ik geprobeerd deze 'verwijderen mootools' code, dat de hosting bedrijf is er zich van bewust dat er enig probleem met hun server database afhandeling van verzoeken. Ze zeggen dat ze zullen upgrade in 2 weken.
Zal wachten tot dan toe te geven dat u voor goede feedback over de gevolgen van deze code ... Juist nu, site performance blijft worden grrrr! * smile *
Maar bedankt voor het verstrekken van deze optie.
1. getHeadData ();
4. reset ($ headerstuff [ 'scripts']);
5. moo $ key = ($ headerstuff [ 'scripts']);
6. unset ($ headerstuff [ 'scripts'] [$ moo]);
7. $ this-> setHeadData ($ headerstuff);
8. ?>
9.
Ik heb een foutmelding
Klasse is niet gedefinieerd
caption.js (lijn 22)
var JCaption = new Klasse ((
Hoi
Bedankt voor het zeer nuttige informatie. Ik heb het geprobeerd met de tweede code blok (het verwijderen mootools slechts een deel) met een "if block" voor de gasten en geregistreerde gebruikers op basis van wat u aangeraden om uikyu. Hier is de code:
get ( 'gast') == 1) | | $ user-> get ( 'gebruikerstype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'scripts']);
moo $ key = ($ headerstuff [ 'scripts']);
unset ($ headerstuff [ 'scripts'] [$ moo]);
$ this-> setHeadData ($ headerstuff);
) / / End if
?>
Wanneer echter, zoals deze werkt goed voor de gasten, niet voor geregistreerde gebruikers. De situatie dezelfde gebleven, zelfs wanneer het "blok als" geschrapt.
Overigens, je eerste code blok (voor de verwijdering van caption.js en mootools werkte prima voor gasten en geregistreerde gebruikers.
Enig idee? Ik wil heel graag verwijderen alleen mootools uitsluitend voor gasten en gebruikers uit de 'Registered' groep.
Groeten
Sorry, ik heb net al gemerkt dat bij het opruimen van mijn opmerkingen van de code, ik per ongeluk verwijderd deel van de constructie werd verwijderd zijn. Hier is de complete blok nogmaals:
get ( 'gast') == 1) | | $ user-> get ( 'gebruikerstype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'scripts']);
moo $ key = ($ headerstuff [ 'scripts']);
unset ($ headerstuff [ 'scripts'] [$ moo]);
$ this-> setHeadData ($ headerstuff);
) / / End if
?>
Hmmmmm het was geen sprake van een fout van mijn kant na alle reden voor sommige oneven aantal van de code wordt afgesneden.
Hoi, Agent007
Is het script werkt prima voor u nu?
kunt u proberen gebruik te maken van de 'vlakte' wanneer kopieer en plak mijn code naar uw tekstverwerker, of typ het zonder kopiëren en plakken.
Hoi, teino
waar heb je de foutmelding?
Wat Teino de boodschap:
"Ik heb een foutmelding
Klasse is niet gedefinieerd
caption.js (lijn 22)
var JCaption = new Klasse ((
"
Ik snap dat ook, in Firefox's YUI. De fout treedt op in de media / system / js / caption.js, met gebruikmaking van het tweede stuk code, die een einde maakte aan mootools alleen.
Verbetert de laad-tijd al!
Voor nu, probeer dan voeg je deze lijn na het tweede stuk code: <script type = "text / javascript" src = "<? Php echo $ this-> basisurl?> / Media / system / js / caption.js"> < / script>
Ik vind een betere oplossing als ik vrij ben. :)
Nah. Dat geeft me 2 YUI fouten, klasse niet gedefinieerd.
Ik heb ingevoegd het eerste stuk code in de header, geen fouten en daar lijkt het niet te beïnvloeden niets op de site, zodat ik aan vasthouden.
Bedankt voor de moeite die mate!
Niemand van jullie oplossing help me .. veroorzaken als ik probeer in te voegen uw code in IE Ik zie halve bladzijde zwart .. en het andere deel met geen enkel standpunt ....
Ik begrijp het niet: (
Help me: (
Het lijkt te werken, zelfs voor geregistreerde gebruikers toevoegen van hetzelfde stuk code na
get ( 'gast') == 1 | | $ user-> get ( 'gebruikerstype') == 'Registered') (
headerstuff $ = $ this-> getHeadData ();
reset ($ headerstuff [ 'scripts']);
moo $ key = ($ headerstuff [ 'scripts']);
unset ($ headerstuff [ 'scripts'] [$ moo]);
$ this-> setHeadData ($ headerstuff);
)
?>
na
na
na jdoc: include type = "kop"
Hey, bedankt voor het script.
Ik dacht dat je zou moeten weten, ik zie "=" op lijn 2 van het eerste stuk code in plaats van '= & ", hetgeen uiteraard geeft een foutmelding wanneer rechtstreeks gekopieerd. Misschien is uw blog software is' opschonen '?
Sante,
Brent.
Aaahh, mijn post gaf een voorbeeld van het probleem - hoe ironisch. Wat ik bedoelde te zeggen was:
Ik zie "= & amp;" (de HTML-code voor het teken '&') op lijn 2 van het eerste stuk code in plaats van "=&".
Hoi, Brent Kerr
dank voor de opmerking maar! :)
Ik denk dat het komt omdat een recente update wordpress, HTML maakt het nu anders. Denk dat ik nodig heb om te lezen via mijn oude berichten op te lossen van dit soort problemen.
bedankt! From Russia With Love!
Heeft uw code, nogal veel in voor alle hoofd-code. Ik gebruik de plugin Toheader om javascript-code in de header van bepaalde artikelen en voor enkele reden is het niet verschijnen na het invoeren van uw code. Dus ik denk dat de vraag: heeft u de code stopt de header de vorm van een code wordt gegenereerd met uitzondering van hoofd-code in de template-bestanden? Ik hoop dat het zinvol
THankis
Hoi, Rigo
Ik ben van plan om een plugin om de header script flexibilisering.
Hartelijk dank voor dit - net nog dreunend hoofd tegen een muur, terwijl het gebruik van deze vreselijke CMS:)
hoi,
zeer mooi werk.
eindelijk kunnen we ademen makkelijker zonder zich zorgen te maken over
koeien over roaming op onze sites.
Ik wens op te merken dat de opmerking die u gemaakt over
"Mootools het bestand dat wordt geleverd met Joomla 1.5 is maar liefst 74k groot zijn. "Is niet helemaal accuraat is.
Het is niet traag vanwege zijn omvang en eigenlijk is het relatief gezien klein (i hebben gebruikt javascripts 3 keer de grootte zonder problemen met de prestaties), maar het is de manier waarop de moos werk dat degradeert de prestaties dus. de koeien is gewoon te vet in processen.
u weet wat ik bedoel als je het vergelijkt de achterkant van 1.0 en 1.5. maar het ziet er natuurlijk ooit zo lief op de front-end, ik blijf bij mijn mening 1.0 is beter.
het woord hebben gevoerd in mijn gedachten. :)
ta.