Hallo Community,
ich bin dabei ein Dashboard-Modul zu schreiben, in dem verschiedenste Daten aus Joomla als Widgets bereitgestellt werden sollen.
Als Option soll in einem Widget ein selbst erstelltes Modul (Eigenes Modul) angezeigt werden können.
Hierfür bin ich bis jetzt soweit:
public static function LoadModule($module, $title, $style = 'none')
{
$document = JFactory::getDocument();
$renderer = $document->loadRenderer('module');
$mod = JModuleHelper::getModule($module, $title);
$params = array('style' => $style);
ob_start();
echo $renderer->render($mod, $params);
return (object) [
'title' => $mod->title,
'content' => ob_get_clean()
];
}
Alles anzeigen
Mein Problem hierbei ist jedoch, dass er ein Modul über Modul-Name und Titel nur finden kann, wenn diese gesuchte Modul auch auf der Seite selbst in einer Position angezeigt wird.
Ist dies nicht der Fall, liefert getModule() ein leeres Modul-Objekt zurück, mit dem an eigtl. nichts anfangen kann.
Ein Beispiel:
Modul liegt auf Seite A in Position left.
Angezeigt werden soll dieses Modul aber dynamisch auch auf Seite B in Position Content.
Ruft man Seite A auf, funktioniert es einwandfrei.
Ruft man Seite B auf, kommt ein leeres Modul.
Meine Frage nun:
Wie kann ich es erreichen dieses Modul komplett gerendert zu erhalten, auch wenn ich auf einer anderen Seite bin?
Habe schon so viel versucht, sogar "Seite A" im Hintergrund erzeugen zu lassen (klappt aber nicht, da JDocument das nicht mitmachen wollte).
Hat einer eine Idee? Ich stecke seit 2 Tagen in dieser Falle...