Ergebnis 1 bis 10 von 10

Thema: Wochentag vor Datum anzeigen lassen

  1. #1
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard Wochentag vor Datum anzeigen lassen

    Hi,

    ich möchte gerne bei den Visitor-Statistiken im BE vor dem Datum den Wochentag in Kurzform anzeigen lassen. Unter Einstellungen das Datumsformat auf D, d.m.Y zu ändern brachte leider keinen Erfolg.

    Hat jemand einen Tipp für mich, wie ich im mod_visitors_be_stat-Template bei ['visitors_date'] es so ändern muss, dass die Datumsausgabe Mo. 18.03.2013 ausgegeben wird.

    LG
    Gregor

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Ja, das ist soweit korrekt das dort nicht auf die Einstellungen reagiert wird, soll heißen Absicht.
    Du kannst es im Template ändern.
    Dazu musst du aus dem Datumsstring wieder ein Zeitstempel machen um daraus dann wieder das neu formatierte Datumsstring formen.

    Wenn ich dich richtig verstanden habe, wäre das wie folgt zu machen ab Zeile 385 (Contao 2 Version von Visitors:
    PHP-Code:
    $this->visitorsstatDays[$vcid][0]['visitors_date']  : 
    ersetzen durch
    PHP-Code:
    date('D, d.m.Y'strtotime($this->visitorsstatDays[$vcid][0]['visitors_date']))  : 
    Das für jede der Datumszeilen, dabei natürlich die id hochzählen wie im Original
    PHP-Code:
    date('D, d.m.Y'strtotime($this->visitorsstatDays[$vcid][1]['visitors_date']))  : 
    usw.

    Nachtrag: Mach das nicht im Backend über den Editor, der zerhaut dir dabei einige HTML Elemente.
    Aus   wird [nbsp], aus & wird [&].
    Geändert von BugBuster (19.03.2013 um 23:28 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Hallo BugBuster,

    vielen vielen Dank für Deine Bemühungen.
    Der Wochentag wird nun in Kurzform vor dem Datum ausgegeben.

    Leider wird jedoch die englische Kurzform der Wochentage ausgegeben, obwohl die BE-Sprache deutsch ist. Kann man das noch irgendwie einstellen?

    LG
    Gregor

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Mit welcher Sprache bist du angemeldet im BE?
    Ach vergiss es.

    Es gibt 2 Möglichkeiten.
    im Template am Anfang:
    PHP-Code:
    <?php setlocale (LC_ALL'de_DE'); ?>
    das klappt aber nicht überall, hängt wohl vom Hoster ab.

    Sonst bleibt dir nur übrig das selber zu wandeln. Das Prinzip mal hier:
    PHP-Code:
    $trans = array(
        
    'Mon'       => 'Mo',
        
    'Tue'       => 'Di',
        
    'Wed'       => 'Mi',
        
    'Thu'       => 'Do',
        
    'Fri'       => 'Fr',
        
    'Sat'       => 'Sa',
        
    'Sun'       => 'So',
    );
    $wochentag date("D"$timestamp_fuer_wochentag)
    $wochentag strtr($wochentag$trans);  

    // bzw für Visitors die letzten Zeilen zusammen gefasst etwa so (ungetestet)
    strtrdate('D, d.m.Y'strtotime($this->visitorsstatDays[$vcid][0]['visitors_date'])) , $trans
    Edit: Korrektur Source
    Geändert von BugBuster (20.03.2013 um 10:36 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Deutsch.
    Bei Zeitraum werden die Monatsnamen in deutsch angezeigt und der Rest des BE wird auch alles in deutscher Sprache angezeigt.
    Systemwartung habe ich mal prophylaktisch durchgeführt, brachte aber auch keine Änderung.

    LG
    Gregor

  6. #6
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Siehe oben, habe nochmal ergänzt.

    Im übrigen hat Contao das bereits als Array definiert
    https://github.com/contao/core/blob/...fault.php#L135

    Könnte man also auch dafür verwenden, das sollte dann in der Sprache in dem man eingeloggt ist gehen.
    Nur ist die Ersetzung hier ein wenige anders, da diese über die ID gehen.
    Geändert von BugBuster (24.03.2013 um 17:13 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  7. #7
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von gregor Beitrag anzeigen
    Deutsch.
    Bei Zeitraum werden die Monatsnamen in deutsch angezeigt
    Da arbeite ich im Modul auch schon über die Contao internen Sprach Arrays.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  8. #8
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Mit der ersten Möglichkeit verändert sich nichts.

    Die zweite Möglichkeit gibt eine Fehlermeldung aus:
    Code:
    Warning: strtr() [function.strtr]: The second argument is not an array. in …/templates/mod_visitors_be_stat.html5 on line 396
    
    #0 [internal function]: __error(2, 'strtr() [parse()
    #4 …/system/modules/backend/BackendModule.php(116): BackendTemplate->parse()
    #5 …/system/modules/backend/Backend.php(239): BackendModule->generate()
    #6 …/contao/main.php(120): Backend->getBackendModule('visitorstat')
    #7 …/contao/main.php(230): Main->run()
    #8 {main}
    Ich habe die Zeile wiefolgt eingefügt:
    Code:
    ? strtr( date('D, d.m.Y', strtotime($this->visitorsstatDays[$vcid][0]['visitors_date'])) , $trans)  : '&nbsp;'); ?></td>
    Am Beginn des Templates steht das Array:
    Code:
    $trans => array(
        'Mon'       => 'Mo',
        'Tue'       => 'Di',
        'Wed'       => 'Mi',
        'Thu'       => 'Do',
        'Fri'       => 'Fr',
        'Sat'       => 'Sa',
        'Sun'       => 'So',
    );
    $wochentag = date("D", $timestamp_fuer_wochentag)
    $wochentag = strtr($wochentag, $trans);  
     
    
    <div class="clear"></div>

    LG
    Gregor

  9. #9
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.513
    User beschenken
    Wunschliste

    Standard

    das muss in PHP eingebettet werden, das Template ist ja html.
    Mach mal zu Beginn des Templates
    PHP-Code:
    <?php
    $trans 
    = array(
        
    'Mon'       => 'Mo',
        
    'Tue'       => 'Di',
        
    'Wed'       => 'Mi',
        
    'Thu'       => 'Do',
        
    'Fri'       => 'Fr',
        
    'Sat'       => 'Sa',
        
    'Sun'       => 'So',
    );
    ?>
    die beiden weiteren Zeilen brauchste hier nicht.

    Ich habe das mal als Ticket aufgenommen, die Idee finde ich nicht schlecht.

    Edit: Korrektur Source
    Geändert von BugBuster (20.03.2013 um 10:35 Uhr)
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  10. #10
    Contao-Fan Avatar von gregor
    Registriert seit
    20.06.2009.
    Ort
    Frankfurt am Main
    Beiträge
    553

    Standard

    Nachdem ich
    Code:
    $trans => array(
    in
    Code:
    $trans = array(
    geändert habe, funktioniert es nun perfekt.

    1.000 Dank für Deine Bemühungen.

    LG
    Gregor

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
  •