Event Manager

Umgestalten und verändern des Event Managers.

arbeite nun schon lange an der Anpassung des Event Managers
https://community.elgg.org/plugins/736695/releases/3.0

kommen immer andere Hindernisse und Frage.
Kann selbst auch einige Fragen beantworten.
Zur Zeit arbeite ich an der Kombination von der Event List und dem Show On Map.
Würde die beide gerne auf der Suchseite gleichzeitig stehen haben,
hab die Map schon aus der "hidden" class heruasgeholt,
muss nun aber gleichzeitig eine neue Suchanfrage stellen,
um die Mapsfunktion irgendwie zu aktivieren.

Naja wie gesagt für ein paar Tips dankbar,
biete im Austausch auch gerne etwas Hilfe an.

gruß

milaas
 

  • 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.

German Support Group

German Support Group

The German support group within the Elgg community.