Ich bin nicht sicher, was genau Du erreichen willst, da ich das Event Manager-Plugin selbst nicht verwende und daher nicht im Detail weiss, welche Features es bieter (bzw. wie es im Detail implementiert ist).
Aber reicht es nicht aus, wenn Du einfach Anpassungen in event_manager/views/default/object/event.php vornimmst? In dieser View wird der Output für ein Event sowohl für die Full View eines einzelnen Events als auch für die Kurzansicht der Events in Listenansichten definiert.
Der Codeblock innerhalb
} elseif (elgg_in_context("maps")) {
definiert die Kartenansicht eines Events. Im Grunde müßtest Du eigentlich nur diesen Code zur Ausgabe eines Events innerhalb einer Listenansicht (definiert durch die folgende "} else {") hinzufügen. Am besten wäre es wohl innerhalb
if (!elgg_in_context("widgets")) {
damit die Karte nicht innerhalb Widgets ausgegeben wird. Also am besten am Ende sowas wie
if (!elgg_in_context("widgets")) {
$subtitle = "<p>$author_text $date</p>";if ($location = $event->getEventLocation()) {
$content .= '<div>' . elgg_echo('event_manager:edit:form:location') . ': ';
$content .= '<a href="' . elgg_get_site_url() . 'events/event/route?from=' . urlencode($location) . '" class="openRouteToEvent">' . $location . '</a>';
$content .= '</div>';
}if ($shortdescription = $event->shortdescription) {
$content .= "<div>" . $shortdescription . "</div>";
}$output = '<div class="gmaps_infowindow">';
$output .= '<div class="gmaps_infowindow_text">';
$output .= '<div class="event_manager_event_view_owner"><a href="' . $event->getURL() . '">' . $event->title . '</a> (' . date(EVENT_MANAGER_FORMAT_DATE_EVENTDAY, $event->start_day) . ')</div>';
$output .= $event->getEventLocation(true) . '<br /><br />' . $event->shortdescription . '<br /><br />';
$output .= elgg_view("event_manager/event/actions", $vars) . '</div>';
if ($event->icontime) {
$output .= '<div class="gmaps_infowindow_icon"><img src="' . $event->getIconURL() . '" /></div>';
}
$output .= '</div>';$content .= $output;
}
Vielleicht mußt Du noch separate gmaps_infowindow-Klassen zur CSS-Datei hinzufügen, damit sich die Kartenansicht innerhalb eines Listenelements gut einfügt.
Ich weiss allerdings nicht, ob es wirklich eine gute Idee ist, zu jedem Event in der Listenansicht immer gleich die Karte darzustellen, da für jedes Event eine Abfrage bei Google erfolgt. Das kann einerseits den Aufbau der Seite verlangsamen und darüber hinaus ist meines Wissens die erlaubte Anzahl von Kartenabfragen auch begrenzt (zumindest die kostenlose Abfrage). Wenn für alle Events schon in der Listenansicht bei jedem Aufruf der Liste für alle Events eine Abfrage durchgeführt wird, könnte da die erlaubte Anzahl an Abfragen schnell überschritten werden.
info@elgg.org
Security issues should be reported to security@elgg.org!
©2014 the Elgg Foundation
Elgg is a registered trademark of Thematic Networks.
Cover image by RaĆ¼l Utrera is used under Creative Commons license.
Icons by Flaticon and FontAwesome.