[Frage] Integration tp3_openhours in tt_address TYPO3-Version: 8.7.29

  • CBuesse CBuesse
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2019, 15:46

    Hallo beisammen,

    das ist meine erste Aktion in diesem Forum - deshalb hoffe ich, dass ich das Ganze richtig angehe und mich überdies einigermaßen verständlich ausdrücke.

    Nun, ich habe da eine Frage zur EXT tp3_openhours (erweitert tt_address um Öffnungszeiten) bzw. wie hier die Werte im FE ausgegeben werden (können / müssen / sollen).

    Die Installation (tp3 0.0.3) hat soweit reibungslos geklappt, tt_address (4.3.0) läuft auch ganz wunderbar, und ich kann die Öffnungszeiten im BE auch problemlos anlegen. Die Werte werden auch ganz brav in die DB (Felder in tt_address) eingelesen.

    So, und nun versuche ich, die Werte im FE über das tt_address-Partial "Address.html" auszugeben. Jede Adresse mit den dazugehörigen Öffnungszeiten. Allerdings geschieht da mittels meiner Ansätze nicht wirklich das, was gewünscht ist.

    Über einen typoscriptObjectPath kann ich zwar SÄMTLICHE Werte auslesen und habe mittels select.join und renderObj herumexperimentiert, um die richtigen Öffnungszeiten den dazugehörigen Adress-Einträgen zuzuordnen, komme aber nicht wirklich zum Ziel (s. Anhang, bin aber auch kein Typoscript-Guru).

    Auch meine (eigentlich bevorzugten) Lösungsansätze via Fluid fruchten nicht. Da kommt erst gar keine Ausgabe von irgendetwas zustande (s. Anhang, mein letzter Versuch von unzähligen).

    Hat jemand schon einmal mit tp3_openhours zu tun gehabt bzw. weiß jemand, wo und wie ich da ansetzen muss? Oder bin ich mit meinen Ansätzen aus anderen Gründen völlig auf dem Holzweg?

    Vielen Dank im Voraus für jede Hilfe.


  • 1
  • CBuesse CBuesse
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2019, 15:58

    Edit:

    Sorry, "Die Werte werden auch ganz brav in die DB (Felder in tt_address) eingelesen" muss heißen:

    "Die Werte werden auch ganz brav in die DB (über das neue Feld "open_hours" in tt_address mit der Tabelle "tx_tp3openhours_domain_model_openhour" verknüpft, wo die jeweiligen Wochentagseinträge etc. eingetragen sind) eingelesen."

  • CBuesse CBuesse
    Typ im Roten Hemd
    0 x
    3 Beiträge
    0 Hilfreiche Beiträge
    06. 11. 2019, 16:04

    Edit 2:

    Irgendwie scheint das mit dem Anhang nicht zu klappen. Deshalb hier mein Code auf diesem Wege:

    TYPOSCRIPT-Version

    Im Template: <f:cObject typoscriptObjectPath="lib.openhours" />

    lib.openhours = CONTENT
    lib.openhours {
    wrap = <div class="openingHours">|</div>
    table = tx_tp3openhours_domain_model_openhour
    select {
    selectFields = *
    uidInList.field = uid
    pidInList = root,-1
    recursive = 99
    join = tt_address ON tx_tp3openhours_domain_model_openhour.ttaddress = tt_address.uid
    #where = tx_tp3openhours_domain_model_openhour.ttaddress != 0 AND tt_address.open_hours != 0
    orderBy = tx_tp3openhours_domain_model_openhour.day
    #groupBy = tx_tp3openhours_domain_model_openhour.day
    languageField = tt_address.sys_language_uid
    }
    renderObj = COA
    renderObj {
    5 = TEXT
    5 {
    field = ttaddress
    wrap = <div class="hourItem flexRow jBetween aStart aID-|">
    }
    10 = CASE
    10 {
    key.field = day
    stdWrap.wrap = <span class="day">|:&nbsp;</span>
    1 = TEXT
    1.value = Montag
    2 = TEXT
    2.value = Dienstag
    3 = TEXT
    3.value = Mittwoch
    4 = TEXT
    4.value = Donnerstag
    5 = TEXT
    5.value = Freitag
    6 = TEXT
    6.value = Samstag
    7 = TEXT
    7.value = Sonntag
    8 = TEXT
    8.value = Montag-Freitag
    9 = TEXT
    9.value = Samstag-Sonntag
    }
    15 = TEXT
    15 {
    field = open_time
    required = 1
    wrap = <span class="time"><span class="open">|&nbsp;Uhr</span>
    strftime = %k.%M
    strftime.GMT = 1
    }
    20 = TEXT
    20 {
    field = close_time
    wrap = <span class="close">&nbsp;-&nbsp;|&nbsp;Uhr</span></span></div>
    strftime = %k.%M
    strftime.GMT = 1
    }
    }
    }

    FLUID-VERSION

    <div class="openingHours">
    <f:for each="{address.open_hours}" as="hours">
    <div class="hourItem flexRow jBetween aStart aID-{hours.uid}">
    <span class="day">{hours.day}:&nbsp;</span>
    <span class="time">
    <span class="open">{hours.open_time -> f:format.date(format:'%k.%M')}&nbsp;Uhr</span>
    <span class="close">&nbsp;-&nbsp;{hours.close_time -> f:format.date(format:'%k.%M')}&nbsp;Uhr</span>
    </span>
    </div>
    </f:for>
    </div>

  • 1