[Frage] Sitemap - Verlinken von Seiten in der Sitemap verhindern

  • wini2 wini2
    Jedi-Meister
    0 x
    284 Beiträge
    0 Hilfreiche Beiträge
    14. 09. 2018, 19:35

    hallo,

    ich möchte für die TYPO3-sitemap seiten nicht verlinken die unterseiten haben, um das typische bootstrap-verhalten auch in der sitemap abzubilden. seiten, die unterseiten haben, lassen sich ja im normalen menü nicht auswählen sondern dienen nur als zum öffnen des dropdown-untermenüs.

    das unterschiedliche verhalten von normalem uns speziellem menü führt sonst daszu, das seitenbesucher evtl. zu leeren seiten navigieren.

    kennt jemand einen viewhelper oder hat sonst eine idee.

    schon mal vielen dank für eure hilfe


  • 1
  • pstranghoener pstrangho...
    Die Macht
    0 x
    491 Beiträge
    22 Hilfreiche Beiträge
    12. 10. 2018, 11:45

    Hallo,

    hast du inzwischen schon selber eine Lösung gefunden? Oder hat jemand anderes Hilfe?

    VG

  • Teisinger Teisinger
    Jedi-Meister
    0 x
    240 Beiträge
    12 Hilfreiche Beiträge
    12. 10. 2018, 16:31

    Ohne das BS jetzt je eingesetzt zu haben:
    Solche Seiten sind bei uns als "Verweis" auf die erste Unterseite, eingerichtet - sofern diese Seite keinen Content hat und schon hat man keine "leeren" Links mehr. (klick darauf wird im Fall der Fälle mit JS verhindert)

    Welche TYPO3 Version nutzt du den? Die Sitemap ab Version 9, kannst du einstellen:
    https://docs.typo3.org/typo3cms/CoreApiReference/latest/ApiOverview/XmlSitemap/Index.html
    Sichwort z. B. custom Doctype und in der sitemap config: excludedDoktypes
    Oder in der "andWhere" IS NULL Spaltenname...

  • wini2 wini2
    Jedi-Meister
    0 x
    284 Beiträge
    0 Hilfreiche Beiträge
    22. 10. 2018, 19:11

    hallo,

    danke für das interesse/den tipp.

    scheinbar gibt es keine einfache lösung. das gute alte 'doNotLinkIt' gibt es offensichtlich noch immer, bedingt aber wohl einen größeren umbau der sitemap. auch eine abfrage, ob seiten keinen inhalt haben, ist mir zu umständlich, zumal ich dort probleme sehe. aus diesen gründen habe ich es etwas einfacher gemacht:

    ich nutze das layout-feld der seiteneigenschaften, um manuell die verlinkung zu verhindern
    TCEFORM.pages.layout.altLabels.1 = Link in Sitemap der ausgew. Seiten verhindern

    das template der entspr. sitemap habe ich anschl. um conditions für page.data.layout ergänzt

    <html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
    <f:layout name="Default" />
    <f:section name="Main">
    <f:if condition="{menu}">
    <ul class="list-unstyled tree sitemap">
    <f:for each="{menu}" as="page">
    <li class="e-eins">
    <f:if condition="{page.data.layout} != 1">
    <f:then>
    <a href="{page.link}"{f:if(condition:'{page.target}',then:' target="{page.target}"')} title="{page.title}">
    <f:if condition="{page.nav_title}">
    <f:then>
    <span>{page.nav_title}</span>
    </f:then>
    <f:else>
    <span>{page.title}</span>
    </f:else>
    </f:if>
    </a>

    <f:render section="Menu" arguments="{menu: page.children}" />
    </f:then>

    <f:else>
    <span class="nolink">{page.nav_title} {page.title}</span>
    <f:render section="Menu" arguments="{menu: page.children}" />
    </f:else>
    </f:if>
    </li>
    </f:for>
    </ul>
    </f:if>
    </f:section>
    <f:section name="Menu">
    <ul class="list-unstyled">
    <f:for each="{menu}" as="page">
    <li class="e-zwo">
    <f:if condition="{page.data.layout} != 1">
    <f:then>
    <a href="{page.link}"{f:if(condition:'{page.target}',then:' target="{page.target}"')} title="{page.title}">
    <f:if condition="{page.nav_title}">
    <f:then>
    <span>{page.nav_title}</span>
    </f:then>
    <f:else>
    <span>{page.title}</span>
    </f:else>
    </f:if>
    </a>
    <f:render section="Menu" arguments="{menu: page.children}" />
    </f:then>
    <f:else>
    <span class="nolink">{page.nav_title} {page.title}</span>
    </f:else>
    </f:if>
    </li>
    </f:for>
    </ul>
    </f:section>
    </html>

    das template ist nicht das original von TYPO3, es stammt von der hervorragenden t3sbootstrap-extension.

    ist sicher keine superlösung, aber angesichts des seltenen auftretens solcher seiten, effizient.

    falls jemand einen einfachen tipp hat, wie man die flexform an der richtigen stelle erweitern kann (für eine checkbox, die ein redakteur auch findet), ohne gleich eine extension schrieben zu müssen, wäre ich dankbar. das gilt natürlich auch weiterhin für tipps, die seiten automatisch ausschließen.

    wie ich immer wieder feststelle, sind sitemaps wohl 'aus der mode' gekommen; ich wundere mich trotzdem, dass das problem scheinbar noch niemand gelöst und beschrieben zu haben scheint.

  • 1