Zum Inhalt springen

Icons im pageBrowser für next/prev

Erstellt am 13. August 2008 · 2 Antworten · letzte Antwort am 2. Juni 2010

Tags: tt_news, HTML & CSS, Frage

Der Dude ·

Hallo zusammen!

Suche bisher vergeblich nach einer vernünftigen Möglichkeit die next/prev - Links im PageBrowser mit Icons zu versehen. Die beste Variante, wäre dies über CSS (Selektor) zu regeln. Würde daher gerne z.B. dem umliegenden <li> - Tag beim aktiven next-Link eine Klasse verpassen z.B. "nextLinkActive". Schön wäre, wenn man dem PageBrowser das auf bspw. dieser Art mitgeben könnte:

plugin.tt_news.pageBrowser.activeLinkWrap.nextActive = <li class="nextLinkActive">|</li>
plugin.tt_news.pageBrowser.activeLinkWrap.nextDisabled = <li class="nextLinkDisabled">|</li>

Selbstverständlich funktioniert dies so nicht, da activeLinkWrap solche Eigenschaften/Methoden nicht enthält aber will nur verdeutlichen, auf was ich hinaus will. Nachfolgende Lösung über die direkte Ausgabe des Icon im Link ist auch keine Lösung, da keine Unterscheidung zwischen active / disabled:

plugin.tt_news._LOCAL_LANG {
de {
pi_list_browseresults_prev = <img src="....icon_back_active" alt="" />
pi_list_browseresults_next = <img src="....icon_forward_active" alt="" />

Ja und zwecks barrierearmer Umsetzung benötigen die jeweiligen <a> - Tags eigentlich auch noch die entsprechenden title - Attribute. Gibts den hierfür keine Lösungen? Irgendwie muss das doch gehen und bisher auch schon von anderen Leuten benötigt wurden sein. Bin für jeden Tip dankbar!

ChristianL ·

Hallo,

gibt es hierfür noch immer keine Lösung?
Ich würde nämlich gerne die Links ordentlich per CSS positionieren (bei tt_news mit usePiBasePagebrowser=1).

Bin für jede Anregung dankbar.

Oh, bin eben über den "Skinnable Pagebrowser" (daimi_skinnablepagebrowser) gestoßen. Dieser unterstützt neben den Standardparametern zusätzlich die folgenden:

plugin.tt_news.pageBrowser {
    # "Go to first"
    disabledFirstLinkWrap = <li class="disabled-first-link">|</li>
    inactiveFirstLinkWrap = <li class="inactive-first-link">|</li>

    # "Go to previous"
    disabledPreviousLinkWrap = <li class="disabled-previous-link">|</li>
    inactivePreviousLinkWrap = <li class="inactive-previous-link">|</li>

    # "Go to next"
    disabledNextLinkWrap = <li class="disabled-next-link">|</li>
    inactiveNextLinkWrap = <li class="inactive-next-link">|</li>

    # "Go to last"
    disabledLastLinkWrap = <li class="disabled-last-link">|</li>
    inactiveLastLinkWrap = <li class="inactive-last-link">|</li>
}

Werd ich gleich mal ausprobieren und berichten.

Christian

ChristianL ·

Wow,
klappt wie geschmiert, man muss nur am Beispiel von tt_news die folgenden Zeilen TS hinzufügen damit die Extensin "aktiv" wird (oder man aktiviert eines der mitgelieferten "Static Templates" )
Ich war so frei gleich noch eine ganze Menge weiterer Parameter hinzuzufügen, die die Konfiguration des PageBrowsers für Neulinge vereinfacht.

# Include SkinnablePageBrowser Extension
includeLibs.userPageBrowserFunc=EXT:daimi_skinnablepagebrowser/class.skinnablePageBrowser.php

plugin.tt_news {
  # Use SkinnablePageBrowser Extension
  userPageBrowserFunc=user_SkinnablePageBrowser->browser

  _LOCAL_LANG.de {
    pi_list_browseresults_prev = vorherige
    pi_list_browseresults_page = Seite
    pi_list_browseresults_next = nächste
    pi_list_browseresults_first = erste
    pi_list_browseresults_last = letzte
    pi_list_browseresults_displays = Treffer ###SPAN_BEGIN###%s bis %s&lt;/span&gt; von ###SPAN_BEGIN###%s&lt;/span&gt;
    pi_list_browseresults_displays_advanced = Treffer ###FROM### bis ###TO### von ###OUT_OF###
    pi_list_browseresults_to = bis
  }
  
  # Settings for paging
  pageBrowser {
    maxPages = 7

    # 0: only the result-browser will be shown
    # 1: (default) the text "Displaying results..." and the result-browser will be shown.
    # 2: only the text "Displaying results..." will be shown
    showResultCount = 0
    
    #Show "page 1" instead of "1"
    showPBrowserText = 0

    dontLinkActivePage = 1

    showFirstLast = 0
    alwaysPrev = 0
    pagefloat = center
    
    # Show for each page the range of the artikels on the page "1-5 6-10 ..."
    showRange = 1
    
    # parse text by htmlspecialchars
    hscText = 0

    browseBoxWrap = <div class="newsPageProwser">|</div>
    showResultsNumbersWrap = |
    showResultsWrap = <div class="showResults">|</div>
    browseLinksWrap = <ul class="browseLinks">|</ul>

    # disabled links like "next" if we are on the last page
    disabledLinkWrap = <li class="disabledLink">|</li>

    # normal links, not active and not disabled
    inactiveLinkWrap = <li>|</li>

    # the current page link
    activeLinkWrap = <li class="activeLink">|</li>
    activeLinkWrap.stdWrap.wrap = <li class="activeLink">|</li>

    # the link to the first page
    disabledFirstLinkWrap = <li class="firstLink disabledLink disabledFirstLink">|</li>
    inactiveFirstLinkWrap = <li class="firstLink">|</li>
 
    # the previous link
    disabledPreviousLinkWrap = <li class="previousLink disabledLink disabledPreviousLink">|</li>
    inactivePreviousLinkWrap = <li class="previousLink">|</li>
 
    # the next link
    disabledNextLinkWrap = <li class="nextLink disabledLink disabledNextLink">|</li>
    inactiveNextLinkWrap = <li class="nextLink">|</li>
 
    # the link to the last page
    disabledLastLinkWrap = <li class="lastLink disabledLink disabledLastLink">|</li>
    inactiveLastLinkWrap = <li class="lastLink">|</li>
  }
}

Was leider immer noch fehlt ist die Möglichkeit den Link auf die nächste Seite auch dann zu zeigen wenn man bereits auf der letzten Seite ist und showFirstLast deaktiviert hat.

plugin.tt_news.pageBrowser {
    # Wenn diese Option an ist werden die Links immer angezeigt, deshalb "0"
    showFirstLast = 0

    # Wird unterstützt
    alwaysPrev = 1

    # Wird nicht unterstützt
    alwaysLast = 1
}

Viel Spaß damit
Christian