Ergebnis 1 bis 8 von 8

Thema: Eventlist und Eventreader: Bei Zeitraum Leerzeichen vom Bindestrich entfernen?

  1. #1
    Contao-Fan Avatar von Jens Pielawa
    Registriert seit
    08.01.2010.
    Ort
    9°45'34"E 52°20'12"N
    Beiträge
    532

    Standard Eventlist und Eventreader: Bei Zeitraum Leerzeichen vom Bindestrich entfernen?

    Hallo an alle,

    ich habe ein typographisches Problem: wenn man ein Event erstellt, das einen Zeitraum enthält, also z. B. von 20:00 bsi 22:00 Uhr, wird mit Contao folgendes ausgegeben:

    20:00 – 22:00

    Das ist typographisch leider ein falscher Bindestrich oder "Bis-Strich". Ich möchte die Leerzeichen entfernen, denn erst dann hat der Bindestrich die richtige Bedeutung "bis". Mit Leerzeichen hat er eine Bedeutung "gegen", etwa bei Spielen, z. B. "Hamburger SV – Hannover 96". Siehe https://de.wikipedia.org/wiki/Halbgeviertstrich
    "Laut Duden stehen vor und nach einem Bis-Strich kein Leerzeichen"

    In den Templates findet sich die PHP-Funktion
    PHP-Code:
    <?php if ($this->time): ?><?= $this->time ?><?php endif; ?></time>
    Wo aber werden dann im weiteren Code die zwei Leerzeichen und der Bindestrich hinzugefügt? Wie gesagt sind die zwei Leerzeichen überflüssig, und ich möchte sie loswerden. Und wann bessert Contao im Core nach?
    Beste Grüße von

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.333
    Partner-ID
    10107

    Standard

    Zitat Zitat von Jens Pielawa Beitrag anzeigen
    Und wann bessert Contao im Core nach?
    Wenn du das nur hier im Forum postest gar nicht . Du solltest dafür ein Ticket auf GitHub erstellen.

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.333
    Partner-ID
    10107

    Standard

    Hier wird der String für $this->time erstellt: https://github.com/contao/core/blob/....php#L146-L162

    Du könntest dir im Template folgenden Code einfügen:
    PHP-Code:
    <?php

    global $objPage;
    $span = \Calendar::calculateSpan($this->begin$this->end);

    if (
    $this->addTime)
    {
        if (
    $span 0)
        {
            
    $this->date = \Date::parse($objPage->datimFormat$this->begin) . '&ndash;' . \Date::parse($objPage->datimFormat$this->end);
        }
        elseif (
    $this->begin == $this->end)
        {
            
    $this->time = \Date::parse($objPage->timeFormat$this->begin); // not really necessary
        
    }
        else
        {
            
    $this->time = \Date::parse($objPage->timeFormat$this->begin) . '&ndash;' . \Date::parse($objPage->timeFormat$this->end);
        }
    }

    ?>
    Geändert von Spooky (02.04.2017 um 09:47 Uhr)

  4. #4
    Contao-Fan Avatar von Jens Pielawa
    Registriert seit
    08.01.2010.
    Ort
    9°45'34"E 52°20'12"N
    Beiträge
    532

    Standard

    OK, so weit, so gut. Deinen Code habe ich zwar eingefügt, aber dann streikte der Eventreader. Fürs Erste habe ich die Stellen mit "Leerzeichen Bindestrich Leerzeichen" mit dem "&ndash" (offenbar nicht updatesicher) ersetzt.
    Bleibt nur noch die Eventliste, hier schleppt sich das Problem auch noch durch, und ich finde die Stelle zum Ausbessern im PHP nicht. Hier wird sehr viel mit Datumsangaben sortiert.
    Beispiel meiner Baustellen-Seite: http://neu.hudh.de/termine.html
    Ich glaube, ich mach mal dieses Ticket auf. Das ist wirklich verbesserungswürdig.
    Beste Grüße von

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.333
    Partner-ID
    10107

    Standard

    Zitat Zitat von Jens Pielawa Beitrag anzeigen
    OK, so weit, so gut. Deinen Code habe ich zwar eingefügt, aber dann streikte der Eventreader.
    Ja, der Code von mir war ungetestet


    Zitat Zitat von Jens Pielawa Beitrag anzeigen
    Bleibt nur noch die Eventliste, hier schleppt sich das Problem auch noch durch, und ich finde die Stelle zum Ausbessern im PHP nicht.
    Alle Vorkommen:




    Zitat Zitat von Jens Pielawa Beitrag anzeigen
    Ich glaube, ich mach mal dieses Ticket auf. Das ist wirklich verbesserungswürdig.
    Am besten wäre es wohl, wenn das über $GLOBALS['TL_LANG'] konfigurierbar wäre. Also zB. dann:
    PHP-Code:
    \Date::parse($objPage->timeFormat$intStartTime) . $GLOBALS['TL_LANG']['MSC']['timeSpanDash'] . \Date::parse($objPage->timeFormat$intEndTime); 
    Geändert von Spooky (02.04.2017 um 09:53 Uhr)

  6. #6
    Contao-Fan Avatar von Jens Pielawa
    Registriert seit
    08.01.2010.
    Ort
    9°45'34"E 52°20'12"N
    Beiträge
    532

    Standard

    Danke für's Finden, Spooky. Ich habe mein erstes Ticket erstellt:
    https://github.com/contao/core/issues/8690
    Mal sehen, was rauskommt...
    Beste Grüße von

  7. #7
    Contao-Nutzer Avatar von Exzentrik
    Registriert seit
    23.05.2012.
    Beiträge
    39

    Standard

    Also falls es sich hier um ein dringendes Problem handelt, das schnellstmöglich gelöst werden muss:

    Ich habe bei mir im Template für die Eventanzeige
    PHP-Code:
    <?= $this->time ?>
    ersetzt durch
    PHP-Code:
    <?= $this->startTime ?>-<?= $this->endTime ?>
    der gibt dann natürlich die unformatierten timestamps aus, aber die parseDate-Sache habe ich jetzt aus übersichtlichkeits-Gründen weggelassen.

  8. #8
    Contao-Fan Avatar von Jens Pielawa
    Registriert seit
    08.01.2010.
    Ort
    9°45'34"E 52°20'12"N
    Beiträge
    532
    Beste Grüße von

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •