Joomla programming - modules

mod_wkhello

Dies ist das Minimal Beispiel eine hello world joomla module

  • mod_wkhello: Installations Directory enthält alle Files
  • mod_wkhello.php: enthält den code, hier einfach
    • echo .... und unterdessen noch
    • einen DB Zugriff mittels getDBO usw.
      • #__ im TabellenNamen wird durch InstallationsPräfix ersetzt
    • Achtung muss genau so heissen, weil JModuleHelper::renderModule ein include auf $path = JPATH_BASE . '/modules/' . $module->module . '/' . $module->module . '.php' macht
  • mod_wkhello.xml: enthält die beschreibung des Modules inkl. alle Files
  • index.html: zeigt nur eine leere Seite an: security feature, damit man im Browser mit nich die Fileliste in diesem Directory sieht.

Installieren

Dann muss man das Module

  • installieren, (extension manager, z.B. ab Directory)
  • unter extensions->modules->wkhello
    • auf published setzen
    • allenfalls config parameters setzen
    • Position im Template angeben, wo man den Output sehen will
    • und unter Menu Assignment den Pages zuordnen
      • im Beispiel unter home module wkHello mit verschiedenen Kombinationen

mod_wkparms

  • mit module Namen wkhello!
  • InstallationsDirecory mod_wkparams
  • Definiert Konfigurations Parameter in mod_wkhello.xml
  • die können unter extensions->modules->wkhello geändert werden
  • und werden im module angezeigt mod_wkhello.php

typische struktur

Joomla arbeitet oo und nach MVC (ModelViewController) typischer Modulaufbau

  • <module> ModuleDirectory
    • helper.php: controller
    • index.html: zur Verhinderung von directoryListings
    • <module>.php das main als Koordinator zwischen MVC
    • <module>.xml die Beschreibungsdatei
    • tmpl: : template directory
      • default.php: die view
      • index.html: zur Verhinderung von directoryListings

mod_api_40_2:: hello user mit random color

  • helper.php: Controller: zwei Methoden für random color und user infos
  • mod_api.php: ruft helper und default.php auf
  • tmpl: template directory
    • default.php: macht die View: Ausgabe der oben gefüllten Variabeln

==> installieren

mod_api_40_3: hello user mit random color und infos in tooltip

Modifikation von 40_2

  • helper.php: userName und userInfos getrennt abgefüllt in array
  • mod_api.php: ruft helper und default.php auf
  • tmpl: template directory
    • default.php: tooltip aktivieren und aufrufen nach Hallo User

mod_api_40_5: hello user mit random color und infos in tooltip - parameterisiert

Modifikation von 40_2 3 Parametrisierungen:

  1. Zusatzinfo im Text oder im Tooltip, gesteuert durch uri Parameter tooltip oder configParam
  2. Title des Tooltips aus Modul Parametern
  3. Bezeichnung eines Gastes (nicht angemeldet) aus Module Parametern
  • helper.php: bekommt Bezeichnung des Gastes als Parameter ($params Objekt ist hier nicht sichtbar!)
  • mod_api.php: fragt Module Parameter aus $params ab, uri Paramter aus JUri und $params, ruft helper und default.php auf
  • tmpl: template directory
    • default.php: tooltip aktivieren und aufrufen abhängig von $tooltipUse

mod_api_40_6: hello user mit random color und infos in tooltip - mit db Abfrage etc..

Modifikation von 40_2

  • helper.php: macht DB Abfrage und update
  • tmpl: template directory
    • default.php: macht Links um Artikel zu editieren --- Puff mit anständigen Links das ich immer noch nicht verstehe!