Hallo zusammen,
ich sitze schon seit geraumer Zeit an einem Problem und komme nicht so recht weiter. Daher nun meine Frage, ob einer von euch das Problem schonmal hatte bzw. eine Idee für einen Lösungsweg hat.
Folgende Komponenten:
- Joomla 2.5.8
- Admidio 2.3.7
Mein Problem:
Ich möchte in eine Homepage die Termin-Komponente von Admidio einbinden. Als Plugin nutze ich daher das sidebar_dates-Plugin, das über ein Wrapper-Modul die aktuellsten Termine auf der Homepage anzeigt. Mit einem Klick auf den Link eines Termines soll sich der Termin in einem IFrame im Hauptbereich der Homepage öffnen.
Unter Joomla 1.5.26 funktioniert das wie geplant. Unter der aktuellen Joomla-Version bekomme ich in einem kleinen IFrame nur die Startseite der Homepage geladen.
Konfiguration:
- Wrapperurl der Termine zeigt auf die sidebar_dates.php
- in der config.php des sitebar_dates-Plguins ist der Link zum Wrapper hinterlegt
Meine bisherigen Erkenntnisse:
- Verwende ich z.B. ein Menü und ein IFrame-Wrapper als Menü-Eintrag, wird mir das IFrame und der Inhalt von Admidio korrekt angezeigt. Anschließend kann ich auch zu den Terminen navigieren.
- Unter Verwendung eines Links (angezeigt durch das sidebar_dates-Plugin) klappt die Navigation zu den Admidio-Terminen nicht. Durch ein paar Debug-Versuche habe ich herausgefunden, dass die notwendigen Informationen für das IFrame (Höhe, Breite, Quelle, etc.) einfach fehlen. Im IFrame-Wrapper kann ich diese Informationen definieren - im Wrapper-Modul aber nicht.
Woher kommen in letzterem Fall also die Informationen für das IFrame? Hat jemand von euch sitebar_dates in Kombination mit Joomla 2.5 im Einsatz?
Viele Dank für euere Hilfe
Grüße, Offe
Joomla - Sidebar Dates - Wrapper
Re: Joomla - Sidebar Dates - Wrapper
Hallo zusammen,
ich habe mir das Problem nochmal angeschaut und konnte die Lösung wie folgt erreichen:
Zunächst musste ich in Joomla ein neues Menü anlegen, welches einen neuen Menülink als Wrapper enthält, der auf adm_program/modules/dates/dates.php verweist. Die URL des neuen Menüwrapper muss daraufhin in die adm_plugins/sidebar_dates/config.php eingetragen werden und nicht so wie ich zunächst fälschlicherweise dachte die URL zum Wrapper, der das sitebar_dates-Plguin darstellt.
Damit das Wrappermodul die Parameter korrekt empfangen kann, muss innerhalb von Joomla in der Datei /components/com_wrapper/views/wrapper/view.html.php folgender Code nach Zeile 64 $url = $params->def('url', ''); eingefügt werden:
In der Admidio-Dokumentation http://www.admidio.org/dokuwiki/doku.ph ... _einbinden ist dieser Schritt nur für Joomla 1.5.x beschrieben. In Joomla 2.5.x unterscheidet sich die nötige Datei und die Zeilennummer. Vielelicht kann dies in der Dokumentation noch jemand aufnehmen.
Unabhängig von der Joomla-Version befindet sich in adm_plugins/sidebar_dates/sidebar_dates.php ein kleiner Fehler, der verhindert, dass die URL mit Parametern korrekt übergeben wird:
Beispiel: http://www.myexample.com/.../dates.php? ... lue1&...[b]?[/b]id=2
Anstatt des Fragezeichen muss hier ein & in der URL stehen, damit der Einzeltermin über den Wrapper angezeigt wird.
Dazu muss folgende Zeile in abgeändert werden.
Viele Grüße
Offe
ich habe mir das Problem nochmal angeschaut und konnte die Lösung wie folgt erreichen:
Zunächst musste ich in Joomla ein neues Menü anlegen, welches einen neuen Menülink als Wrapper enthält, der auf adm_program/modules/dates/dates.php verweist. Die URL des neuen Menüwrapper muss daraufhin in die adm_plugins/sidebar_dates/config.php eingetragen werden und nicht so wie ich zunächst fälschlicherweise dachte die URL zum Wrapper, der das sitebar_dates-Plguin darstellt.
Damit das Wrappermodul die Parameter korrekt empfangen kann, muss innerhalb von Joomla in der Datei /components/com_wrapper/views/wrapper/view.html.php folgender Code nach Zeile 64 $url = $params->def('url', ''); eingefügt werden:
Code: Alles auswählen
foreach ($_GET as $key => $value) {
if ($key<>"option" && $key<>"Itemid") {
$url.=(strpos($url,"?")) ? "&" : "?";
$url.="$key=$value";
}
}
Unabhängig von der Joomla-Version befindet sich in adm_plugins/sidebar_dates/sidebar_dates.php ein kleiner Fehler, der verhindert, dass die URL mit Parametern korrekt übergeben wird:
Beispiel: http://www.myexample.com/.../dates.php? ... lue1&...[b]?[/b]id=2
Anstatt des Fragezeichen muss hier ein & in der URL stehen, damit der Einzeltermin über den Wrapper angezeigt wird.
Dazu muss folgende Zeile
Code: Alles auswählen
echo $plg_html_end_date. '<br /><a class="'. $plg_link_class. '" href="'. $plg_link_url. '?id='. $plg_date->getValue("dat_id"). '" target="'. $plg_link_target. '">';
Code: Alles auswählen
echo $plg_html_end_date. '<br /><a class="'. $plg_link_class. '" href="'. $plg_link_url. ( (strpos($plg_link_url,"?")) ? "&" : "?" ) . 'id='. $plg_date->getValue("dat_id"). '" target="'. $plg_link_target. '">';
Viele Grüße
Offe