Ergebnis 1 bis 5 von 5

Thema: Breite Kalender / Event-Titel beschneiden

  1. #1
    Gesperrt
    Registriert seit
    25.08.2010.
    Ort
    NRW
    Beiträge
    49

    Standard Breite Kalender / Event-Titel beschneiden

    Hallo!

    Manche meiner Event-Titel sind relativ lang. Das Ganze ruiniert mir dann das Layout des Kalenders (cal_default) - siehe Anhang.

    Deswegen hatte ich die Idee, die Titel der einzelnen Termine ab einer bestimmten Länge zu kürzen, dahinter [...] zu setzen und mir folgende Anleitung gesucht: http://www.contao.glen-langer.de/zei...e-kuerzen.html

    Im cal_default ist ja folgender Abschnitt dafür zuständig:

    Code:
    title="<?php echo $event['title']; ?>
    Jetzt weiß ich nicht, wo ich die Passagen aus der o.g. Anleitung einfügen muss und wie ich sie anpassen muss, damit sie $event['title'] kürzen.

    Hat jemand eine Idee?

    Grüße
    r13
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Hallo,

    zunächst mal stimmt deine Annahme nicht.
    PHP-Code:
    title="<?php echo $event['title']; ?>
    ist für den title des Links. Der erscheint als Hinweis, wenn du die Maus länger auf den Termin zeigen lässt.

    Was du ändern möchtest ist der zwischen <a href...> und </a> ausgegebene Text.
    Das ist im cal_default.tpl der Teil
    PHP-Code:
    <?php echo $event['link']; ?>
    Also versuch mal den zu ersetzen durch
    PHP-Code:
    <?php $termin preg_replace("/[^ ]*$/"''$this->headline);
    $laenge 20// hier deine max. erlaubte Laenge
    if (strlen($termin)>$laenge)
    {
      
    $termin substr($termin0$laenge)) . '...';
    }
    echo 
    $termin ?>
    Gruß,
    folkfreund

  3. #3
    Gesperrt
    Registriert seit
    25.08.2010.
    Ort
    NRW
    Beiträge
    49

    Standard

    Danke für deine Hilfe. Der Code funktionierte nicht, aber auf der Basis deines Ansatzes habe ich einen funktionierenden basteln können (man entschuldige mir eventuelle Fehler, eig. kann ich kein php):

    PHP-Code:
    <?php
    $laenge 
    30;
    if (
    strlen($event['title'])>$laenge)
    {
    $event['title'] =  preg_replace("/[^ ]*$/"''substr($event['title'], 0$laenge)).'...';
    }
    echo 
    $event['title'];
    ?>
    ......

    Das Ändert aber an der Überbreite des Kalenders leider doch nichts. Ursache dafür scheinen zu lange Wörter zu sein. Der Kalender kann die Titel der Links beliebig auf seine Höhe verteilen (Screenshot 2 - hier passt er in den Content-Bereich), indem er einzelne Wörter einfach in neue Zeilen schiebt.

    Aber: Ein ganzes, größeres Wort kann er nicht silbenartig trennen, um die Maximalbreite von 100% der Breite des Artikelmoduls/ des Content-Bereiches einzuhalten (Screenshot 1). Das führt dazu, dass wie in S1 gezeigt, sich ein breites untrennbares Wort in einer KW wiederholt, der Kalender dies nicht trennt und über seine 100% hinausschießt.

    Ich denke nicht, dass es dafür eine Lösung gibt; außer die Breite des Kalenders durch kleinere Schrift, weniger Padding,... zu stauchen. Fällt jemandem doch etwas ein?
    Angehängte Grafiken Angehängte Grafiken
    Geändert von r13 (12.12.2010 um 17:49 Uhr)

  4. #4
    Contao-Urgestein Avatar von folkfreund
    Registriert seit
    09.04.2010.
    Beiträge
    1.928

    Standard

    Ja, sorry. Ich hatte den Code nicht selbst ausprobiert...

    Aber dein eigentliches Problem löst das Verkürzen des Titels ja offensichtlich sowieso nicht. HTML kann eben keine Silbentrennung. Bei langen Worten in Tabellen musst du zwangsläufig auf die vollständige Anzeige verzichten - entweder der ganzen Tabelle oder der Texte in den Zellen.
    Ich will dir nicht wieder falschen Code schicken (und habe gerade keine Installation mit solchen Tabellen zur Verfügung). Vielleicht helfen dir ja die folgenden Ideen weiter:

    1. Nur wirklich wichtige Infos in den Titel und 'Wortmonster' vermeiden (z.B. 'Ausflug Klasse 9 Wintersport' anstatt 'Schneesportausflug der 9. Klassen nach Pusemuckel'). Weitere Info steht dann doch sowieso im Event.
    2. Wenn du der Tabelle mit
      table.calendar
      {width:100%;table-layout:fixed;
      }
      die volle Breite des mod_calendar zuweist und das Layout fixierst, dann könntest du die Tabellenzellen mittels
      table.calendar td{width:14%;}

      alle auf dieselbe Breite zwingen und mit
      table.calendar td .event{with:90%;overflow:hidden;}
      den überstehenden Inhalt der Zelle einfach abschneiden (mit etwas Abstand zum Zellenrand).

    Gruß,
    folkfreund
    Geändert von folkfreund (14.12.2010 um 11:19 Uhr)

  5. #5
    Gesperrt
    Registriert seit
    25.08.2010.
    Ort
    NRW
    Beiträge
    49

    Standard

    Hi,

    ein verspätetes Danke an dich. Eine Kombination aus

    a)

    PHP-Code:
    <?php 
    $laenge 
    30
    if (
    strlen($event['title'])>$laenge

    $event['title'] =  preg_replace("/[^ ]*$/"''substr($event['title'], 0$laenge)).'...'

    echo 
    $event['title']; 
    ?>
    und b)

    Code:
    table.calendar {width:100%;table-layout:fixed;}
    table.calendar td{width:14%;}
    table.calendar td .event{with:90%;overflow:hidden;}
    does the job for me. Jetzt kann ich sogar das padding wieder hinzufügen, alles kein Problem mehr.

    Grüße
    rw

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Event als link mit Titel und Datum
    Von gopper0815 im Forum Nachrichten/Events/FAQ
    Antworten: 5
    Letzter Beitrag: 16.01.2011, 13:36
  2. Mini Kalender Formatierung Event
    Von cheffinchen im Forum Nachrichten/Events/FAQ
    Antworten: 2
    Letzter Beitrag: 16.12.2009, 12:35
  3. Und mal wieder Kalender! Event-Reader zeigt nichts....
    Von dillscher im Forum Nachrichten/Events/FAQ
    Antworten: 4
    Letzter Beitrag: 10.11.2009, 13:20
  4. Event Kalender geht nicht mehr nach 2.7.3 update
    Von lindu im Forum Nachrichten/Events/FAQ
    Antworten: 4
    Letzter Beitrag: 28.09.2009, 08:29
  5. Kalender/Event Anzeige des Tagesaktuellen Events auf Startseite möglich?
    Von Der_Ritter im Forum Nachrichten/Events/FAQ
    Antworten: 4
    Letzter Beitrag: 15.08.2009, 21:51

Lesezeichen

Lesezeichen

Berechtigungen

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