Zum Inhalt springen

Link auf gleiche Seite mit Anker

Erstellt am 7. September 2006 · 4 Antworten · letzte Antwort am 8. September 2006

Tags: Links, Frage

anj ·

Hi Typo3 Freaks!

Ich möchte gerne mein Seitenmenü so verlinken dass Sie auf die aktuelle Seite (nicht die Inhaltselemente) Zeigen (sagen wir id=2) und dann nur noch einen Anker bekommen so das der Link so aussieht:

<a href="index.php?id=2#NameDerSeiteOderEineID">NameDerSeiteOderEineID</a>
href="index.php?id=2#NameDerSeite2">NameDerSeite2</a>
href="index.php?id=2#NameDerSeite3">NameDerSeite3</a>
usw.

1

Ich habe schon einiges versucht und bin langsam am Verzweifeln, das kann doch nicht so schwierig sein.

Mein aktuelles Menu liest einfach die Seiten aus und verlinkt sie brav:

lib.navigation1 = HMENU
lib.navigation1.entryLevel = 0
lib.navigation1.wrap = | 
# Level 1
lib.navigation1.1 = TMENU
lib.navigation1.1 {
   expAll = 1
   NO.allWrap = <li>|</li>
}
# Level 2
lib.navigation1.2 = TMENU
lib.navigation1.2 {
   expAll = 1
   NO.allWrap =  <li style="padding-left: 10px;">|</li>
[hier müsste man die Links erstellen]
}

Habe es auch schon geschaft auf die richtige ID immer zu verlinken, wie kann ich aber noch zusätzlich 2x die Pipe in einem wrap nutzen?

chris3 ·

... ehm ... Du willst einfach ein Inhaltsverzeichnis der Seiteninhalte erstellen ?
Dann benutz doch einfach ein Inhaltselement vom Typ "Menu/Sitemap" und stell' bei "Menu type" den Wert "Section index (pagecontent w/Index checked)" ein ... aber vieleicht verstehe ich Dich auch falsch ... :o

anj ·

Hi Chris!

Gerade eben nicht die Seiteninhalte, sondern einfach die Seiten. Die Seiten soll aber NICHT auf ihr ziel verlinkt sein, sondern immer auf die gleiche ID. Sie sollen jedeglich Ihren Titel als Anker hinzubekommen.

Beispiel-Struktur:

Home (hat z.B. id 2)
Seite1
Unterseite1.1
Unterseite1.2
Seite2
Unterseite2.1
Seite3
Unterseite3.1
Unterseite3.2
Unterseite3.3

Daraus soll werden:

<li><a href="index.php?id=2#Seite1">Seite1</a></li>
<li><a href="index.php?id=2#Unterseite1.1">Unterseite1.1</a></li>
<li><a href="index.php?id=2#Unterseite1.2">Unterseite1.2</a></li>
<li><a href="index.php?id=2#Seite2">Seite2</a></li>
<li><a href="index.php?id=2#Unterseite2.1">Unterseite2.1</a></li>
usw.
chris3 ·

... ich steh' hier mit beiden Beinen auffm Schlauch ... :o

Warum willst Du denn die Anker das reinbasteln ?!
Was ist der Sinn & Zweck ... ?!?

typo3-intern werden da nämlich Anker vom Typ <a id="cXYZ"> an jedes Inhaltselement getackert ...

.. ich brauch erstmal 'nen Kaffe, hab ich das Gefühl ... #paralyzed#

anj ·

OK, dann hol ich mal raus:

Ich bastel gerade eine art mini DTP mit Typo3.

Autoren sollen sich einloggen und einen Artikel in die richtige Sparte einpflegen können.
Auf der Seite soll das GESAMTE Buch, dass daraus entsteht, angezeigt werden. Dazu nutze ich die Erweiterung sr_include_pages. Die Artikel befinden sich in folgender Struktur:

Ebene1
Ebene2
Artikel1
Artikel2

Der Grund für diese Generierung ist jetzt wohl klar, ich möchte nicht zu der Seite springen, sondern Sie direkt über den Anker ansprechen. Der weg bis hier hin ist quasi erzwungen, da ich ja ein PDF erstellen möchte, mit Inhaltsverzeichnis HEADER und FOOTER und den GESAMTEN Seiten etc.

Aktuell habe ich es nun geschaft mir die Anker für die Seiten zu erstellen. Es war "zu leicht" und schon fast peinlich 😃 :

lib.navigation1 = HMENU
lib.navigation1.entryLevel = 0
lib.navigation1.wrap = | 
# Level 1
lib.navigation1.1 = TMENU
lib.navigation1.1 {
   expAll = 1
   NO.allWrap = <li>|</li>
}
# Level 2
lib.navigation1.2 = TMENU
lib.navigation1.2 {
  expAll = 1
   noBlur = 1
	NO{
      linkWrap = |
      doNotShowLink = 1     
      before.cObject = TEXT
      before.cObject.dataWrap = <li style="padding-left: 10px;"><a href="index.php?id={page:uid}#{field:uid}">
      after.cObject = TEXT
      after.cObject.field = title
      after.cObject.wrap =  |</a></li>
      }
}

Jetzt versuche ich die 3 Ebene aber doch mit Inhaltslementen-> CONTENT
aber leider vergeblich:

# Level 3
lib.navigation1.3 = CONTENT
lib.navigation1.3 {
    select {
        pidInList = this
        #where = CType = templavoila_pi1
        table = tt_content
    }
    renderObj = USER
    renderObj.userFunc = tx_templavoila_pi1->main
}

weiss jemand Rat?