Bagaimana cara mengembangkan modul Joomla?

10

Saya telah mencari jauh dan luas untuk tutorial tentang ini, tetapi tampaknya tidak dapat menemukan sesuatu yang memuaskan. Bagaimana Anda membuat modul baru untuk joomla?

Saat ini saya menggunakan modul HTML khusus di seluruh kode saya, dan saya ingin dapat menjangkau ke PHP dan menjadikan semuanya menjadi modul, tetapi saya belum menemukan tutorial untuk melakukan itu. Saya telah memodifikasi modul yang diinstal sebelumnya, tetapi saya tidak tahu cara membuatnya yang akan diinstal.

Dokumentasi joomla cukup membingungkan dan setelah membacanya beberapa kali saya menyerah. Adakah yang bisa membantu menjelaskan proses ini kepada saya? Terima kasih!

serakfalcon
sumber

Jawaban:

17

Belajar Pengembangan Modul Joomla

Cara saya belajar, adalah dengan mempelajari dan menyesuaikan inti atau modul pihak ketiga lainnya.
Modul sebagai konsep lebih sederhana daripada komponen (yang bisa kita katakan adalah 2 aplikasi front-end / back-end) dan dirancang untuk menampilkan informasi.
Jadi jika Anda membuka folder modul / file dan mulai membaca kode, Anda mungkin akan cepat masuk ke dalamnya.

Modul Anatomi Joomla sebagai contoh

Misalnya, Anda dapat membuka Modul Artikel Terbaru di Joomla 3.2 dan memeriksa kodenya, sambil membaca baris di bawah ini. Dalam folder modul kita akan menemukan 4 file dasar:

1. mod_articles_latest.php
2. helper.php
3. tmpl/default.php
4.mod_articles_latest.xml

  1. Ini mod_articles_latest.phpadalah file utama dari modul, yang digunakan pertama kali ketika modul dipanggil. Ini menginisialisasi modul dan termasuk helper.php, memanggil metode kelas helper untuk mengambil data dan akhirnya termasuk templat modul ( default.php) untuk menampilkan data.

  2. The helper.phpberkas adalah "mesin" dari modul (jika kita bisa nama itu begitu). Dalam helper kita membuat kelas modul dan metodenya untuk mengambil data. Ini adalah tempat di mana kita dapat memiliki modul "berbicara" dengan database. Membaca kode dalam file helper ini modul, Anda akan melihat bahwa itu berisi ModArticlesLatestHelperKelas , yang memiliki satu Metode:getList(&$params) .
    Dalam metode ini modul sedang memeriksa pengaturan backend dari modul, dan akhirnya membangun daftar artikel yang akan dikembalikan, berdasarkan kondisi ini. Perhatikan bahwa modul ini menggunakan JModelLegacy::getInstancemetode untuk mengembalikan Objek Model Konten .

  3. Ini default.phpadalah templat utama modul dan bertanggung jawab untuk menampilkan konten modul. - Di sini kita membangun output html, menggunakan data yang Anda ambil sebelumnya di mod_articles_latest.phpdengan memanggil kelas modul. Itu terletak di dalam folder tmpl . * Perhatikan bahwa file modul utama menyertakan file template dengan JModuleHelper::getLayoutPathmetode, yang pertama-tama akan memeriksa setiap template yang diganti.

  4. Akhirnya, mod_articles_latest.xmlsaya akan menyebutnya seperti "duta besar" modul. Ini adalah file yang "memperkenalkan" modul ke Joomla selama instalasi, itu menentukan file yang akan disalin oleh installer, dan juga berisi informasi tentang parameter dari modul yang digunakan oleh manajer modul, serta informasi tambahan tentang modul.

Ini adalah bagian penting dari modul dasar. Aspek lain yang mungkin ingin Anda pertimbangkan adalah dukungan berbagai bahasa. Ini dapat dicapai dengan menggunakan string Bahasa dan file Terjemahan Bahasa . Jika Anda telah mencapai sejauh itu dengan sukses, untuk membuat modul dasar, maka menambahkan dukungan bahasa harus cukup sederhana.

FFrewin
sumber
15

Pernahkah Anda melihat tutorial berikut dalam dokumentasi joomla?

Secara khusus, pastikan Anda melihat semua artikel dalam seri.

Peter Wiseman
sumber
3

Kami telah mengembangkan modul gratis untuk tujuan yang sama. Modul PHP Khusus untuk Joomla CMS .

Anda perlu membuat file PHP misalnya login.php di [situs-root] / modules / mod_customphp / file

  • Sekarang untuk menggunakan file ini
  • Pergi ke [backend] -> module-manager
  • Buat modul custom-php baru
  • Pada parameter dimasukkan, masukkan log masuk
  • Ini akan membuat login.php dalam modul.
Shyam
sumber
yang menjawab php use-case wrt saya, tetapi tidak menjawab apa yang sebenarnya saya tanyakan (dalam kasus saya, saya perlu menyimpan pengaturan tertentu seperti warna dll. untuk setiap penggunaan modul, yang akan lebih mudah jika saya dapat membuat modul baru daripada hanya mengakses php) meskipun terima kasih atas tipnya.
serakfalcon
Anda dapat menambahkan lebih banyak parameter ke modul dan menggunakan params ini di file php Anda.
Shyam
3

Anda dapat menyalin modul yang ada di instalasi lokal. Kemudian Anda ganti nama sesuai keinginan Anda. Anda juga harus mengganti nama file php dan xml serta nama kelas php dalam kode. Maka Anda tinggal membuat file zip dari modul Anda. File zip ini dapat Anda instal di instalasi joomla Anda.

Apakah Anda memerlukan detail lebih banyak tentang penggantian nama?

seagul
sumber
Itu berfungsi sampai taraf tertentu, dan ini sering merupakan cara saya memulai, tetapi tidak cukup untuk berurusan dengan string bahasa dan media tambahan yang diinstal ke lokasi yang berbeda.
Peter Wiseman
@PeterWiseman Ya, Anda benar, tetapi ini adalah cara yang mudah dan cepat untuk memulai.
seagul