Wyłączyć Mootools dla 3.3?


10

Muszę zaktualizować witrynę Joomla 2.5 do wersji 3.x

Strona korzysta z wtyczki „wyłącz Mootools”

od tego dewelopera union-d.ru/

Czy ktoś z powodzeniem korzysta z tej wtyczki w wersji 3.3 lub wie o wtyczce o podobnej funkcjonalności dla wersji 3.3? Dzięki - programista nie odpowiada na moje pytania ...

Czy ktoś z powodzeniem korzysta z tej wtyczki na stronie 3.x? Lub znasz inną, podobną wtyczkę, która działa na 3.x? Dzięki!

Odpowiedzi:


6

W razie potrzeby to narzędzie wyłączy Mootools i jest kompatybilne z Joomla 3: http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/22236

W Joomla 3.0 MooTools jest przestarzałe, a jQuery jest domyślną strukturą javascript. Aby dodać biblioteki MooTools Core, musisz dodać:

JHTML::_('behavior.framework');

Zatem zależy od twojego szablonu / rozszerzeń, czy Mootools jest załadowany czy nie.

W konsoli programisty Google Chrome (i prawdopodobnie w Firefoksie Firebug) możesz sprawdzić, czy MooTools jest włączony za pomocą tego małego kodu javascript:

window.MooTools ? alert ("MooTools loaded") : alert("MooTools NOT loaded");

Minęło kilka lat, ale odpowiedź jest nadal aktualna i działa dla Joomla 3.8. *
BastianW

2

Ta wtyczka jest specjalnie dla Joomla 2.5, dlatego może być trochę przestarzały kod podczas korzystania z Joomla 3.x. Osobiście polecam korzystanie z jQuery Easy, która jest bardzo renomowaną wtyczką. Jego główną cechą jest importowanie jQuery na twoją stronę i upewnienie się, że jest zawsze ładowane tylko raz i na górze listy skryptów, ale ma również funkcję wyłączania MooTools tam, gdzie to możliwe.



0

Jeśli tworzysz wtyczkę, a onAfterRenderwydarzenie NIE działa, spróbuj użyć zdarzenia, onBeforeCompileHeadjak pokazano poniżej.

public function onBeforeCompileHead() {
    if ($this->app instanceof JApplicationSite) {
        $doc = JFactory::getDocument();
        $search     = array(
            'jui/js/bootstrap.min.js',
            'mootools-core.js',
            'mootools-more.js',
        );
        foreach ($doc->_scripts as $key => $script) {
            foreach ($search as $findme) {
                if (stristr($key, $findme) !== false) {
                    unset($doc->_scripts[$key]);
                }
            }
        }
    }
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.