Joomla 1.6 İletişim Formu Hatası

Jomla 1.6 Hatalar ve ÇözümlerJoomla 1.6.0 kararlı sürümü yayınlanmasının ardından vakit buldukça inceliyor ve kod yapısını amatörce de olsa tetkik etmeye çalışıyorum. Tabi internette joomla 1.6 hakkında da yazılmış olan makaleleri ve anlatımları takip edip joomla’nın bu sürümüne alışmaya çalışıyorum. Araştırmalarımı her zamanki gibi hatalar açısından da tespit etme babında sürdürüyorum. Bu hatalardan öne çıkmaya başlayan bir tanesi de gözden kaçan küçük gibi görünen bir hatayı bu raporlardan tespit ettim. Joomla 1.6 sistemine ait iletişim formunun boş gönderilmesini engellemek için doldurulması zorunlu olan alanların eksiksiz olarak doldurulması gerektiğini biliyoruz. Doldurulmadığı durumda da bir hata iletisi ile beraber hatalı alanın seçili olarak gösterilmesi gerekiyor.

Ancak Joomla 1.6 da iletişim formunda yaşanan bu hata nedeni ile eksik doldurulan ve zorunlu tutulan alanların boş bırakıldığı durumda form yerine ulaşmıyor yani gönderilmiyor. Ancak ne doldurulmayan form alanında ne de gönderim sonucunda çıkması gereken hata iletisi çıkmamakta. Bu durumda da gönderen kişi formunun gönderilmiş olduğunu düşünmesi sebebi ile belki de gerek sitenizi kullanan kişiler gerekse de sizin açınızdan sorun oluşturabilecek bir durum ortaya çıkıyor.

Mantık olarak hatayı aramamız gereken fonksiyon acaba mevcut temada mesaj gösterilmesini sağlayan kod satırının unutulmuş olabileceği durumu öne çıkıyor. Ancak bu seferde doldurulmayan zorunlu alanların uyarı şeklinde doldurulması gerektiğini gösteren uyarı imlemesi çıkması gerekiyordu ki bu da çıkmıyor. Bu halde hatayı arayacağımız yer joomlanın javascript yapısına göz atmak ve gerekli fonksiyonun hatalı bir şekilde tanımlanıp tanımlanmadığına bakmak olacaktı.

“/joomla dizini/media/system/js/validate.js” dosyasına göz atmamız gerekecek ki bu javascript dosyası form verilerindeki onaylama (validate) işlemini yapıyor. Gönderim ile alakalı satıra baktığımızda şu kod kümesi ile karşılaşıyoruz.

{a.getElements("input,textarea,select")

Bu kod kümesinde her şeyin tanımlı olduğunu ama bir tek “button”un tanımlı olmadığını görüyoruz. Dolayısı ile joomla “gönder” butonuna tıklandığında formun nasıl hareket edeceğini belirtmediğinden formu göndermediği gibi hata iletisini de göstermiyordu. çalışmayı yerelde yaptığımdan dolayı formu eksiksiz doldurduğunuzda gidip gitmediğini de test etmedim ancak bu satıra eksik olan tanımı eklediğimizde;

{a.getElements("input,textarea,select, button")

Yukarıdaki gibi “button” tanımlamasını da yaptığımızda formun doldurulması zorunlu alanlarını doldurmadıklarında o alan ile beraber hata iletisinin de çıktığını görebiliyoruz. Peki bu durum joomla resmi destek sitesine iletildi mi diye baktığımda hata raporlamasının da yapılmış olduğunu görmekle beraber muhtemelen bir sonraki sürümde bu hata giderilecektir. O zamana kadar yukarıda çözüm sizin için yeterli olacaktır.

Add a Comment

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir