3.3 için Mootools devre dışı bırakılsın mı?


10

Bir Joomla 2.5 sitesini 3.x sürümüne yükseltmem gerekiyor

Site "Mootools'u devre dışı bırak" eklentisi kullanıyor

Bu geliştiriciden union-d.ru/

Bu eklentiyi 3.3'te başarıyla kullanan veya 3.3 için benzer işlevselliğe sahip bir eklentiyi bilen var mı? Teşekkürler- geliştirici sorularıma cevap vermiyor ...

Bu eklentiyi 3.x sitede başarıyla kullanan var mı? Veya 3.x üzerinde çalışan başka bir benzer eklentiyi biliyor musunuz? Teşekkürler!

Yanıtlar:


6

Bu araç gerekirse Mootools'u devre dışı bırakır ve Joomla 3 ile uyumludur: http://extensions.joomla.org/extensions/core-enhancements/performance/mootools/22236

Joomla 3.0'da MooTools kullanımdan kaldırılmıştır ve jQuery varsayılan javascript çerçevesidir. MooTools Core kütüphanelerini eklemek için aşağıdakileri eklemeniz gerekir:

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

Bu nedenle Mootools yüklü olup olmadığına göre şablon / uzantılarınıza bağlıdır.

Google Chrome geliştirici konsolunda (ve muhtemelen Firefox'un Firebug'unda), MooTools'un bu küçük javascript koduyla etkinleştirilip etkinleştirilmediğini kontrol edebilirsiniz:

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

Birkaç yıl geçti ama cevap hala geçerli ve Joomla 3.8 için çalışıyor. *
BastianW

2

Bu eklenti özellikle Joomla 2.5 içindir, bu nedenle Joomla 3.x'te kullanıldığında kullanımdan kaldırılmış bazı kodlar olabilir. Şahsen son derece saygın bir eklenti olan jQuery Easy kullanmanızı tavsiye ederim . Ana özelliği, sitenize jQuery'i içe aktarmak ve komut dosyasının listesinin en üstüne bir kez yüklenmesini sağlamaktır, ancak MooTools'u mümkünse devre dışı bırakma özelliğine de sahiptir.



0

Eğer bir eklenti geliştiriyorlar ve varsa onAfterRenderolay olduğunu DEĞİL çalışan, olayı kullanmayı deneyin onBeforeCompileHeadaşağıda gösterildiği gibi.

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]);
                }
            }
        }
    }
}
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.