J3'e yükseltme JHtmlBehavior :: mootools bulunamadı


9

İle 500 hatası alıyorum JHtmlBehavior::mootools not found. Bu J3 kaldırıldı biliyorum ama benim sorun bu sorunun nerede olduğunu bulmaya çalışıyor.

Bir çeşit uzantı olduğundan şüpheleniyorum ama hepsini güncellediğimi düşünüyorum. Belli ki değil. Sorunun nerede olabileceğini belirtmek için php günlüklerimde veya geliştirici araçları konsolunda hiçbir şey göremiyorum. Hatta JHtmlBehavior için grep ve hiçbir şey gelip.

Bu hata ayıklama nasıl ipuçları?

Yanıtlar:


9

Sorunu kendi özel bileşenimde buldum ... ugh. Sorunlu kodu bulamadım çünkü arıyordum JHtmlBehavior::mootools.

Ancak rahatsız edici kod şuydu:

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

Bunu bu şekilde değiştirmek sorunu çözer:

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

3

MooTools, Joomla 3'te kullanımdan kaldırılmasına rağmen, hala kullanılabilir (ancak gelecekteki sürümlerde kaldırılabilir).

Ekleyerek çerçeveyi yükleyebilirsiniz

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

(veya hem Core hem de More kütüphanelerine ihtiyacınız varsa):

JHtml::_('behavior.framework', true);

şablonunuzun index.phpdosyasına.

Mootools kodunu kullanarak dosyayı / uzantıyı bulana kadar bu en azından geçici bir düzeltme olacaktır. Suçlu bulmak zor olabilir, ancak tarayıcıların Geliştirici Araçları ( F12çoğu tarayıcıda) ile başlamanızı ve JavaScript hatalarını aramanızı öneririz , size bir ipucu verebilir.


Teşekkürler ama ikisini de denedim ve hala aynı hatayı alıyorum. Geliştirici Araçları (veya Firebug) bana 500 dahili sunucu hatasından başka bir şey söylemiyor. Başka fikir var mı?
Tom

Kodu doğru şekilde eklediğinizden emin misiniz JOOMLAROOT/templates/YOURTEMPLATE/index.php? Doğrudan sonra ekleyebilirsiniz defined('_JEXEC') or die;. window.MooToolsFirebug yazarak MooTools'un yüklenip yüklenmediğini kontrol edin , geri dönmeli Object { version: "1.4.5", build: "74e34796f5f76640cdb98853004650aea1499d69" }veya benzeri olmalıdır .
johanpw

Bu JHtml::çağrıların eklenmesi , sitedeki PHP'deki geçersiz bir çağrının sonucu olan hatayı durdurmaz.
Craig

2

Bu, Joomla'nın bir hata atmasına neden olan bir PHP hatasıdır, bu nedenle bir Javascript hatası değil, daha fazla PHP ekleyerek düzeltilecek bir şey değildir. Şüphelendiğiniz gibi, hatalı PHP çağrısının kaynağını bulmanız gerekir.

Yapmanız gereken ilk şey, hata raporunuzu "Geliştirme" ye çevirmek ve size herhangi bir yeni bilgi verdiğini görmek, hatanın kaynağını izlemenize yardımcı olacak yeni bir bilgi yoksa, manuel dilim ve zar yaklaşımı haline gelir.

Yerleşik bir şablona kısaca takas etmeyi ve sorunun giderilip giderilmediğini görmeyi deneyin - eğer öyleyse, şablon veya değiştirilen varsayılan şablonda atanmış konum olmadığından artık çağrılan bir modül değildir. Şablon değilse, modülleri hızlı bir şekilde takip edebilirsiniz.

Son olarak, bu yardımcı olmazsa, sorunun kaynağını hangi bileşen, modül veya eklenti grubu hızla daraltmak için% 50 yöntemini kullanın.


2

Kodun nereden geldiğini bulmak için bazı adımlar şunlardır:

  1. En iyi yol, web sitesinin tam bir kopyasını indirmek ve dizinde JHTML :: _ ('behavior.mootools') için bir OS sistem araması yapmaktır; . Genellikle bilgisayarınız bu belirli dizeyi içeren tüm dosyaları içeren bir liste döndürür.

  2. İlk adım mümkün değilse veya herhangi bir nedenle sonuç alamıyorsanız, uzantıları devre dışı bırakmaya başlamalısınız.

    a. İlk önce şablonu değiştirin - çekirdek Joomla 3 protostar şablonuna. Sorun büyük olasılıkla ortadan kalkıyorsa, kullanımdan kaldırılmış kodu içeren şablonunuzdur.

    b. Ardından modülleri ve eklentileri kapatmaya başlayabilirsiniz.

    c. Son olarak, sorunun yalnızca üçüncü taraf bileşenlerinin belirli sayfalarında görünüp görünmediğine bakın.

Joomla Belgelerinde Joomla'ya Javascript Çerçeveleri yükleme hakkında daha fazla bilgi edinin

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.