Ergebnis 1 bis 13 von 13

Thema: Usability-Problem: doppelt und dreifache h1-Überschrift bei den Events

  1. #1
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Frage Usability-Problem: doppelt und dreifache h1-Überschrift bei den Events

    Moin,

    Angenommen, man weist dem Artikel, der das Modul Event-Liste mit dem event_full.tpl enthält, eine Aussagekräftige Überschrift "Meetings" zu, dann
    entstehen auf der gerenderten Seite im FE satte drei <h1>Überschriften.
    Das ist ja irgendwie uncool. Die Überschrift vom Event-Titel kann man ja selbst
    von Hand in der event_full.tpl in eine <h2> verwandeln. Was bleibt ist die Datumsüberschrift. Gibt es nicht einen anderen Weg, als diese per CSS: display:none; auszublenden? Zumal das Datum in der Vollansicht ohnehin noch einmal in einem Absatz Erwähnung findet, wäre es doch logisch, wenn man diese Datumsüberschrift schlicht deaktivieren können würde.
    In der event_full.tpl taucht sie jedenfalls nicht auf, ein header wird in dieser .tpl Datei auch nicht eingebunden - und selbst wenn: wo kann ich denn dessen Inhalt bearbeiten?

    Liebe Grüße,

    Papillon

  2. #2
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    Für die Darstellung des ganzen Events ist ja das template events_full.tpl zuständig dort findest du das komplette HTML dort müsstest du nur das entsprechende Markup entfernen.
    Kein Privat Support via PM.

  3. #3
    Contao-Nutzer
    Registriert seit
    06.08.2010.
    Beiträge
    104

    Standard

    Hallo,

    das stimmt zwar in Bezug auf das Event selbst, nicht aber in Bezug auf alles, was vor der Eventausgabe passiert. Sieh her:

    Code:
    <div class="event block<?php echo $this->class; ?>">
    
    <h1><?php echo $this->title; ?></h1>
    [...]
    </div>
    Diese <h1> lässt sich ja wie gesagt ohne Probleme anpassen.
    Mich interessiert aber die <h1>, die davor ausgegeben wird,
    im .tpl aber keine Erwähnung findet. Sie gibt lediglich das Datum
    des angeklickten Tages aus. Wird irgendwo ein "header" für die
    Eventausgabe geladen, in dem die evtl. drinsteht?

    Grüße und vielen Dank schonmal,

    Papillon

  4. #4
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage Gute Frage

    Das ist gerade auch mein Problem. Kann man hier Rat geben? Ich bekomme das einfach nicht gebacken...

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

    Standard

    Zitat Zitat von x4all Beitrag anzeigen
    Das ist gerade auch mein Problem. Kann man hier Rat geben? Ich bekomme das einfach nicht gebacken...
    Was genau ist das Problem? Der Thread hier ist schon relativ alt. By default hat die Überschrift der Event Liste ein <h1> und die einzelne Events haben im event_list Template <h2>.

  6. #6
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage

    Das ist mein Template event_list.html5

    PHP-Code:
    <?php if ($this->header): ?>
      <div class="header<?= $this->classHeader ?>">
        <?php if ($this->firstDay): ?><span class="day"><?= $this->firstDay ?>, </span><?php endif; ?><span class="date"><?= $this->firstDate ?></span>
      </div>
    <?php endif; ?>

    <div class="event layout_list<?= $this->classList ?>">

    <table width="100%">
    <tbody>
    <tr>
        <td><?php echo \Date::parse('d.m.Y'$this->startDate?></td>
        <td><?php echo \Date::parse('d.m.Y'$this->endDate?></td>
        <td><?php echo \Date::parse('H:i'$this->startTime?></td>
        <td><?php echo \Date::parse('H:i'$this->endTime?></td>
        
        <td><?php if ($this->hasDetails): ?>
                <?= $this->details ?>
              <?php else: ?>
                <div class="ce_text block">
                      <?= $this->teaser ?>
                  </div>
              <?php endif; ?></td>
    </tr>
    </tbody>
    </table>
    </div>
    Da steht nichts von h1, h2 oder sonst was. Trotzdem wird eine h1 ausgegeben.

    Mein Problem wurde auch schon ganz gut beschrieben, denn vor dem eigentlichen Event brauche ich eine Tabelle, um die thead zu setzen. Wenn ich das im event_list.html5 schreibe, und 20 Events habe, habe ich 20 thead Definitionen. Also für jedes Event. Die Struktur wird im Firebug ganz gut sichtbar.
    Angehängte Grafiken Angehängte Grafiken

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

    Standard

    Zitat Zitat von x4all Beitrag anzeigen
    Da steht nichts von h1, h2 oder sonst was. Trotzdem wird eine h1 ausgegeben.
    Wie schon erwähnt hat die Eventliste die h1 Überschrift (mod_eventlist), die einzelnen Events dann h2 (event_list).

    Zitat Zitat von x4all Beitrag anzeigen
    Mein Problem wurde auch schon ganz gut beschrieben
    Wo wurde dein Problem beschrieben?

  8. #8
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage

    mod_eventlist.html5 schaut so aus, da ist nix von einer h1 zu sehen...
    PHP-Code:
    <?php $this->extend('block_unsearchable'); ?>

    <?php $this->block('content'); ?>

      <?= $this->events ?>

      <?= $this->pagination ?>

    <?php $this->endblock(); ?>
    Das wurde hier beschrieben, dritter Post: "das stimmt zwar in Bezug auf das Event selbst, nicht aber in Bezug auf alles, was vor der Eventausgabe passiert. Sieh her:"

    LG Jan

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

    Standard

    Zitat Zitat von x4all Beitrag anzeigen
    mod_eventlist.html5 schaut so aus, da ist nix von einer h1 zu sehen...
    Contao verwendet seit einigen Versionen erweiterbare Templates. Wie du siehst erweitert das mod_eventlist Template das block_unsearchable Template. Im block_unsearchable Template ist dann wiederum eben die Überschrift drin:
    PHP-Code:
    <!-- indexer::stop -->
    <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
      <?php endif; ?>

      <?php $this->block('content'); ?>
      <?php $this->endblock(); ?>

    </div>
    <!-- indexer::continue -->
    Zitat Zitat von x4all Beitrag anzeigen
    Das wurde hier beschrieben, dritter Post: "das stimmt zwar in Bezug auf das Event selbst, nicht aber in Bezug auf alles, was vor der Eventausgabe passiert. Sieh her:"
    Dieser Post ist aus dem Jahr 2011 - und daher habe ich ja auch gesagt:
    Zitat Zitat von Spooky Beitrag anzeigen
    Was genau ist das Problem? Der Thread hier ist schon relativ alt. By default hat die Überschrift der Event Liste ein <h1> und die einzelne Events haben im event_list Template <h2>.

  10. #10
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage

    Ahja, verstehe. Das mit den erweiterbaren Templates hatte ich bisher noch nicht verwendet. Schön und gut, nur das ist in meinem Fall so wie ich das sehe eher hinderlich. Denn wenn ich eine Eventliste haben möchte wie hier (siehe Anhang), dann sehe ich gerade nur 2 Lösungen.

    Entweder Möglichkeit 1 (unsauber): Ich arbeite mit Inserttags und Tabellen innerhalb der Templates. Dann hätte ich in mod_eventlist eine Tabelle, die dann durch den Inserttag für jedes Event wieder eine Tabelle aufbaut, d.h. eine Tabelle innerhalb einer Tabelle. Sowas macht man einfach nicht^^.

    Oder Möglichkeit 2 (ebenfalls unsauber): Ich greife in mod_eventlist ein, schreibe eine Tabelle mit thead und darunter wird dann eventlist.html5 ausgegeben. Dann habe ich 2 Tabellen (eine für thead und eine für die Events).

    Oder habe ich eine Möglichkeit übersehen? Wie würdest du das lösen?

    LG
    Angehängte Grafiken Angehängte Grafiken

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

    Standard

    Hmm, zB so:

    mod_eventlist:
    PHP-Code:
    <!-- indexer::stop -->
    <div class="<?= $this->class ?> block"<?= $this->cssID ?><?php if ($this->style): ?> style="<?= $this->style ?>"<?php endif; ?>>

      <?php if ($this->headline): ?>
        <<?= $this->hl ?>><?= $this->headline ?></<?= $this->hl ?>>
      <?php endif; ?>

      <table>
        <thead>
          <tr>
            <th>…</th>
            <th>…</th>
            …
          </tr>
        </thead>
        <tbody>
          <?= $this->events ?>
        </tbody>
      </table>

      <?= $this->pagination ?>

    </div>
    <!-- indexer::continue -->
    event_list:
    PHP-Code:
    <tr class="event layout_list<?= $this->classList ?>">

      <td>…</td>
      <td>…</td>
      …

    </div>

  12. #12
    Contao-Fan
    Registriert seit
    11.10.2010.
    Beiträge
    379

    Frage

    Perfekt, das hat funktioniert :-) Danke dir dafür.

    Mal eine andere Frage: Was hat das mit dem indexer stop usw. zu tun? Was steckt da dahinter?

    LG
    Jan

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

    Standard

    Bitte . Das ist für das Such-Modul von Contao. Das sagt dem Indexer, das alles zwischen ::stop und ::start nicht in den Suchindex aufgenommen werden soll.

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
  •