Bu konuda bir öğretici için çok geniş baktım, ancak tatmin edici bir şey bulamıyorum. Joomla için yeni bir modül nasıl yapılır?
Şu anda kodumun her yerinde özel HTML modülleri kullanıyorum ve PHP 'a ulaşmak ve hepsini bir modüle dönüştürmek istiyorum, ancak bulamadım) Daha önce kurulu modülleri değiştirdim ama nasıl kurulacağını bilmiyorum.
Joomla belgeleri oldukça kafa karıştırıcı ve birkaç kez okuduktan sonra vazgeçtim. Birisi bana bu süreci açıklamaya yardımcı olabilir mi? Teşekkürler!
Öğrenme şeklim, çekirdek veya diğer 3. taraf modüllerini incelemek ve özelleştirmekti.
Kavram olarak modüller, bileşenlerden daha basittir (2 uygulama ön uç/arka uç olduğunu söyleyebiliriz) ve bir parça bilgi görüntülemek için tasarlanmıştır.
Eğer modül klasörünü/dosyalarını açar ve kodu okumaya başlarsanız, muhtemelen içine hızlı bir şekilde gireceksiniz.
Örneğin, aşağıdaki satırları okurken Son Makaleler Modülü öğesini Joomla 3.2'de açabilir ve kodunu kontrol edebilirsiniz. Modül klasöründe 4 temel dosyayı bulacağız:
1. mod_articles_latest.php
2. helper.php
. tmpl/default.php
4. mod_articles_latest.xml
mod_articles_latest.php
modüllerin ana dosyasıdır, modül çağrıldığında ilk kullanılan dosyadır. Modülü başlatır ve helper.php
İçerir, verileri almak için yardımcının sınıf yöntemini çağırır ve son olarak verileri görüntülemek için modülün şablonunu (default.php
) İçerir.
helper.php
dosyası modülün "makineleri" dir (eğer ismini verebilirsek). Yardımcıda, modülün sınıfını ve verilerini alma yöntemlerini yaratırız. Bu modül ile veritabanı "konuşmak" olabilir yerdir. Bu modülün yardımcı dosyasındaki kodu okurken kodun ModArticlesLatestHelper
Class içerdiğini göreceksiniz Yöntem: getList(&$params)
.
Bu yöntemde modül, modülün arka uç ayarlarını kontrol ediyor ve sonunda bu koşullara dayanarak geri döndüreceği makalelerin listesini oluşturuyor. Bu modülün İçerik Modeli Nesnesi öğesini döndürmek için JModelLegacy::getInstance
yöntemini kullandığını unutmayın.
default.php
modülün ana şablonudur ve modülün içeriğini görüntülemekle sorumludur. - Burada modülün sınıfını çağırarak mod_articles_latest.php
'Da daha önce aldığınız verileri kullanarak html çıktısını oluşturuyoruz. tmpl klasörünün içinde bulunur. * Ana modülün dosyasında JModuleHelper::getLayoutPath
yöntemini içeren şablon dosyası bulunduğuna dikkat edin. Bu şablonlar öncelikle şablon geçersiz kılmalarını kontrol eder.
Son olarak mod_articles_latest.xml
Ben bunu modülün "büyükelçisi" olarak adlandırırım. Yükleme sırasında modülü Joomla'ya "tanıtan" dosyadır, yükleyici tarafından kopyalanacak dosyaları belirtir ve ayrıca modül yöneticisi tarafından kullanılan modülün parametreleri hakkında ek bilgiler içerir. modül hakkında.
Bunlar temel bir modülün temel parçalarıdır. Dikkate almak isteyebileceğiniz diğer bir husus, birden fazla dil desteğidir. Bu Dil Dizeleri ve Dil Çeviri dosyaları kullanılarak elde edilebilir. Şimdiye kadar başarılı bir şekilde ulaşırsanız, temel bir modül oluşturmak için dil desteği eklemek oldukça basit olmalıdır.
Joomla belgelerinde aşağıdaki dersleri gördünüz mü?
Özellikle, dizideki tüm makalelere baktığınızdan emin olun.
Aynı amaç için ücretsiz bir modül geliştirdik Custom PHP Modülü .
Bir PHP dosyası oluşturmanız gerekir, örneğin [website-root]/modules/mod_customphp/files'da login.php
- Şimdi bu dosyayı kullanmak için
- [Arka uç] -> modül yöneticisi'ne gidin
- Yeni özel php modülü oluştur
- İncludefile put giriş parametresinde
- Bu modülde login.php dosyasını oluşturacaktır.
Mevcut bir modülü yerel bir kurulumda kopyalayabilirsiniz. Sonra istediğiniz şekilde yeniden adlandırın. Ayrıca koddaki php sınıfı adlarının yanı sıra php ve xml dosyalarını da yeniden adlandırmanız gerekir. Daha sonra modülünüzün bir Zip dosyasını yaparsınız. Joomla kurulumunuza kurabileceğiniz bu Zip dosyası.
Yeniden adlandırma hakkında daha fazla bilgiye mi ihtiyacınız var?