Zum Inhalt springen

Calendar Base- Location Details bei Event anzeigen

Erstellt am 2. Juli 2009 · 8 Antworten · letzte Antwort am 10. Oktober 2014

Tags: Kalender & Termine, Frage

webgurke1 ·

Hallo,

ich würde gerne in der Event Ansicht (phpicalendar_event.tmpl) von der Calendar Base Extension die Details zu einer Location (die natürlich als Kalender Ort eingetragen und mit dem Event vernküpft ist).

Über den Marker ###LOCATION### in der phpicalendar_event.tmpl wird der "Titel" der Location ausgegeben. Zusätzlich brauche ich auf der Seite allerdings noch die Straße, PLZ und den Ort.

In der module_locationloader.tmpl sind zwar entsprechende marker vorhanden, allerdings funktionieren die nicht im Template der Eventansicht.

Kann mir jemand helfen? Für eure Bemühungen vielen Dank im Voraus!

Gruß

Jan

gebauer ·

Hi,

genau danach suche ich auch. Anstatt des ###LOCATION###, würde ich ganz gerne etwas wie ###CITY###, ###COUNTRY### nutzen.

Leider werden die in PHPICALENDAR_EVENT.tmpl nicht verarbeitet....

Gibt es da irgendeine Möglichkeit?

Grüße,
Jan

jean_paul ·

Hallo,

ich halte mal das Thema oben, ich benötige nämlich genau dieses Feature.

Es git wohl die Möglichkeit, per locationloader.tmpl etwas zu bewirken. Wie genau das funktioniert, ist mir bisher aber auch noch nicht klar geworden.

plugin.tx_cal_controller.module.locationloader.template = fileadmin/cal/module_locationloader.tmpl

Also falls jemand die Event-ausgabe um die Location und/oder Organizer-daten erweitert hat, wäre das super nett, hier einen Lösungsansatz bekannt zu geben.

jean_paul ·

So, jetzt habe ich mal was herausgefunden:

In der phpicalendar_event.tmpl bekommt man die Daten aus dem locationloader-Service durch die angabe des Markers:

###MODULE__LOCATIONLOADER###

Für den Veranstalter:

###MODULE__ORGANIZAITONLOADER###

DerKnut ·

Super! Danke!

Der Marker für den Veranstalter ist ###MODULE__ORGANIZERLOADER###
(Falls jemand danach sucht)

FRAGE:
Wie bekomme ich die ###DESCRIPTION### - Marker von Organizer und Location
zum Laufen. Die werden zwar erkannt, aber anscheinend nur geleert.

Bin für jeden Tipp dankbar. :-)

Nicole87 ·

Ist zwar schon ewig her der Threat, aber ich möchte ebenfalls Beschreibung und Co bei der Eventansicht anzeigen.

Für die Darstellung der Adresse habe ich schonmal die Marker ###MODULE__ORGANIZERLOADER### bzw. ###MODULE__LOCATIONLOADER### gefunden. Damit gibt man wie gesagt die Straße, PLZ und Stadt aus (vielleicht auch Land und co, aber das brauche ich nicht).

Wie kann man nun auch noch die Beschreibung des Ortes und des Veranstalters einfügen?

Grüße
Nicole

Nicole87 ·

Ich stubs es gerade mal, weil ich noch immer auf der Suche bin... #paralyzed#

Würde außerdem die Straße etc auch gerne einzeln ansprechen - ist das möglich?

Grüße
Nicole

alexinge ·

Hallo!

Ich werde nicht schlau aus dem Ganzen. Habe den Marker ###MODULE__LOCATIONLOADER### in das Template phpicalendar_event.tmpl eingefügt. Muss ich die Marker für Street etc. auch einfügen. Gehe davon aus, dass die über das entsprechende Template geladen werden müssten, oder?

plugin.tx_cal_controller.module.locationloader.template = fileadmin/admin/ext/cal/module_locationloader.tmpl

Auf alle Fälle tut sich bei der Event-Ansicht nichts!

Kann mir jemand helfen? #paralyzed#

alexinge ·

Jetzt bin ich ein bisschen schlauer geworden! Erstens eine Erklärung von Mario Matzulla:

if cal recognizes a marker ###MODULE__XX### it searches for a module service with name XX. If there is such a service, cal hands over an instance of the current model or view depending where the marker is found (if you are in the event.tmpl, this would be the event view; inside the event_model.tmpl, this would be the event itself) by calling the start() function.
Please have a look at the misc folder, where you can find our examples for location- and organizerloader services.

Remember, that you have the proper TS configuration for the location fields inside the event view:

view.{view}.{object}.{field}

Example:
view.event.location.street =

The easiest way would be:
plugin.tx_cal_controller.view.event.location < plugin.tx_cal_controller.view.location.location



As for the templates, they got a little bit mixed up. But as you can see inside the locationloader class: check the TS for module.locationloader.template =

und zweitens meine Umsetzung:

habe im event_model.tmpl den Marker ###LOCATION### durch ###MODULE__LOCATIONLOADER### ersetzt:

<h1>###TITLE###</h1>
###IMAGE###
###CATEGORY###
###STARTDATE###
###ENDDATE###
###STARTTIME###
###ENDTIME###
###ORGANIZER###
###MODULE__LOCATIONLOADER###
###DESCRIPTION###

und das Typoscript angepasst:

plugin.tx_cal_controller.view.location.location {
        # @description  Content object for location name
        name = TEXT
        name {
          current = 1
          required = 1
          dataWrap = <span><b>Ort:</b>&nbsp; |</span><br />
        }
        # @description  Content object for location street
        street = TEXT
        street {
          current = 1
          required = 1
          dataWrap = <span> |</span><br />
        }
        # @description  Content object for location city
        city = TEXT
        city {
          current = 1
          required = 1
          dataWrap = <span> |</span><br />
        }
        # @description  Content object for location zip
        zip = TEXT
        zip {
          current = 1
          required = 1
          dataWrap = <span> |</span>
        }
        # @description  Content object for location phone number
        phone = TEXT
        phone {
          current = 1
          required = 1
          dataWrap = <div>Tel:&nbsp; |</div><br />
        }
        # @description  Content object for location facsimile number
        fax = TEXT
        fax {
          current = 1
          required = 1
          dataWrap = <div>Fax:&nbsp; |</div><br />
        }
        # @description  Content object for location description
        description =< tt_content.text.20
        description {
          field = description
          required = 1
          dataWrap = <div class="locdesc"> |</div>
        }
        # @description  Content object for location email
        email = TEXT
        email {
          current = 1
          typolink.parameter.current = 1
          required = 1
          dataWrap = <div>Email:&nbsp; |</div><br />
          }
          # @description  Content object for location link
          link < .email
          link {
            dataWrap = <div>Link:&nbsp; |</div><br />
          }
          # @description  Content object for location image
        image =< plugin.tx_cal_controller.view.event.event.image
      }
plugin.tx_cal_controller.view.event.location < plugin.tx_cal_controller.view.location.location

und noch das Template vom standard_template kopiert und in den Konstanten angesprochen:
plugin.tx_cal_controller.module.locationloader.template = fileadmin/admin/ext/cal/module_locationloader.tmpl

Das war's!
Hoffe, das hilft vielleicht auch anderen!