Joomla modülü nasıl geliştirilir?


10

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'ye ulaşmak ve hepsini bir modüle dönüştürmek istiyorum, ancak bunu yapmak için bir eğitim bulamadım. Kurulu modülleri daha önce değiştirdim ancak kurulacak modülleri nasıl yapacağımı 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!

Yanıtlar:


17

Joomla Modül Geliştirme Öğrenme

Öğrendiğim yol, ç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.
Bu nedenle, modül klasörünü / dosyalarını açar ve kodu okumaya başlarsanız, muhtemelen ona hızlı bir şekilde girersiniz.

Örnek olarak Joomla Modülü Anatomisi

Örneğin, aşağıdaki satırları okurken En Son Makaleler Modülünü 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
3. tmpl/default.php
4.mod_articles_latest.xml

  1. mod_articles_latest.phpModüllerin ana dosya, modül çağrıldığında ilk kullanılan biridir. Modülü başlatır ve helper.phpverileri almak için yardımcının sınıf yöntemini çağırır ve son default.phpolarak verileri görüntülemek için modülün ( ) şablonunu içerir .

  2. helper.php(Böylece Adını eğer) dosyası modülünün "makine" dir. 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 kod okuma, bunu içerdiğini göreceksiniz ModArticlesLatestHelperClass birine sahiptir, Yöntem:getList(&$params) .
    Bu yöntemde modül, modülün arka uç ayarlarını kontrol eder ve sonunda bu koşullara dayanarak döndüreceği makalelerin listesini oluşturur. Bu modülün İçerik Modeli NesnesiniJModelLegacy::getInstance döndürmek için yöntemi kullandığını unutmayın .

  3. default.phpModülün içeriği görüntülemek için modülün ve sorumlu ana şablondur. - Burada mod_articles_latest.phpmodülün sınıfını çağırarak 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::getLayoutPathilk önce herhangi bir şablon geçersiz kılma olup olmadığını kontrol edecek yöntem içeren şablon dosyası bulunduğuna dikkat edin.

  4. Son olarak, mod_articles_latest.xmlmodülün "büyükelçisi" olarak adlandırırdı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 gerçekleştirilebilir . Ş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.


15

3

Aynı amaçla Joomla CMS için Özel PHP Modülü için ücretsiz bir modül geliştirdik .

Bir PHP dosyası oluşturmanız gerekir, örneğin [website-root] / modules / mod_customphp / files'de login.php

  • Şimdi bu dosyayı kullanmak için
  • [Arka uç] -> modül yöneticisine gidin
  • Yeni özel php modülü oluştur
  • İncludefile put giriş parametresinde
  • Bu modülde login.php dosyasını oluşturacaktır.

benim kullanım durum wrt php cevap, ama aslında ne istediğini cevap vermez (benim durumumda, modülün her kullanımı için renk vb gibi belirli ayarları kaydetmeniz gerekir, bu ben oluşturabilir eğer daha kolay olacak yeni bir modül yerine sadece php erişim) olsa da ipucu için teşekkürler.
serakfalcon

Modüle daha fazla parametre ekleyebilir ve bu parametreleri php dosyalarınızda kullanabilirsiniz.
Şam

3

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. Sonra sadece modülünüzün bir zip dosyası yapmak. Bu zip dosyasını joomla kurulumunuza kurabilirsiniz.

Yeniden adlandırma hakkında daha fazla bilgiye mi ihtiyacınız var?


Bu bir dereceye kadar işe yarıyor ve çoğu zaman bu şekilde başlıyorum, ancak dil dizeleri ve farklı konumlara yüklenen ek ortamlarla uğraşmak için yetersiz.
Peter Wiseman

@PeterWiseman Evet, haklısınız, ancak başlamak için kolay ve hızlı bir yol.
seagul
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.