Zum Inhalt springen

Frameset und Links

Erstellt am 14. Dezember 2002 · 5 Antworten · letzte Antwort am 2. Januar 2003

Tags: Frage

margas ·

Hallo Leute
Meiner Hompage liegt ein Frameset mit zwei Frames(top und inhalt) zugrunde.
Im top-Frame befinden sich Icons(Home,Sitemap,Kontakt,Suchen). Ich möchte nun, dass beim Anklicken eines Icons die betr. Seite im Frame inhalt erscheint.

##################
#Frameset
##################
outer_frameset.typeNum = 0

outer_frameset.frameSet.rows = 180,*
outer_frameset.frameSet.params = framespacing="0" bordercolor="FFFFFF" frameborder="0" border="0"
outer_frameset.frameSet {
10 = FRAME
10.obj = top
10.params = scrolling="NO" noresize frameborder="0" marginheight="0" border="0"
20 = FRAME
20.obj = inhalt
20.params = scrolling="AUTO" frameborder="0" marginheight="0" border="0"
}
}

Auszug aus meinem template_top.htm:
---------------------------------------------
.
.
<tr>
<td width="310"><a ###LINK_HOME###><img src="fileadmin/Site_Template/Top_1_1.gif" alt="Home" width="310" height="143" border="0"></a></td>
<td> <table width="100%" border="0" cellpadding="0" cellspacing="0" background="fileadmin/Site_Template/Top_1_2.gif">
<tr>
<td width="100%">&nbsp;</td>
<td><a ###LINK_HOME###><img src="fileadmin/Site_Template/Top_1_3.gif" alt="Home" width="32" height="143" border="0"></a></td>
<td><a ###LINK_KONTAKT###><img src="fileadmin/Site_Template/Top_1_4.gif" alt="Kontakt" width="43" height="143" border="0"></a></td>
</tr>
</table></td>
</tr>
.
.

Setup im Typo3 template:
-----------------------------
##################
# Define top_frame, "top"
##################

top.typeNum = 1
top.10 = TEMPLATE
top.10 {
template = FILE
template.file = fileadmin/Site_Template/template_top.htm
workOnSubpart = DOKUMENT

# Link zu Home (Icon) Versuch
marks.LINK_HOME = HTML
marks.LINK_HOME.value = href=?id=8 target="inhalt"

# Link zu Kontakt (Icon) Versuch
marks.LINK_KONTAKT = TEXT
marks.LINK_KONTAKT.current = 48
marks.LINK_KONTAKT.typolink {
parameter = 1
}

# Link zu Suchen (Icon) Versuch
marks.LINK_SUCHEN = TEXT
marks.LINK_SUCHEN.value = <LINK ?suchen>Suchen</LINK>
marks.LINK_SUCHEN.target = content
.
.

Weder in den Dokumenten noch in diesem Forum habe ich eine Lösung gefunden(Übersehen?).

An Anfang mit Typo3 aber schon am Ende mit meinen Nerven.
Kann mir(Anfänger) jemand weiterhelfen?

margas ·

Nach nächtelangem Probieren hab ich letztlich eine gangbare Lösung gefunden.

template_top.htm:

<td><a href=###LINK_HOME###><img src="fileadmin/Site_Template/icon_home.gif" alt="Home" width="35" height="33" border="0"></a></td>

<td><a href=###LINK_KONTAKT###><img src="fileadmin/Site_Template/icon_kontakt.gif" alt="Kontakt" width="40" height="33" border="0"></a></td>

<td><a href=###LINK_SUCHEN###><img src="fileadmin/Site_Template/icon_suchen.gif" alt="Suchen" width="36" height="33" border="0"></a></td>

<td><a href=###LINK_SITEMAP###><img src="fileadmin/Site_Template/icon_sitemap.gif" alt="Sitemap" width="34" height="33" border="0"></a></td>

Typo3 Setup:

# Link zu Home (Icon)
marks.LINK_HOME = HTML
marks.LINK_HOME.value = "index.php?id=8&type=2" TARGET="inhalt"

# Link zu Kontakt (Icon)
marks.LINK_KONTAKT = HTML
marks.LINK_KONTAKT.value = "index.php?id=48&type=2" TARGET="inhalt"

# Link zu Suchen (Icon)
marks.LINK_SUCHEN = HTML
marks.LINK_SUCHEN.value = "index.php?id=43&type=2" TARGET="inhalt"

# Link zu Sitemap (Icon)
marks.LINK_SITEMAP = HTML
marks.LINK_SITEMAP.value = "index.php?id=12&type=2" TARGET="inhalt"

Bei mir hat's so funktioniert.
Gruss
Markus Gasser

stpadberg ·

Deine Lösung ist korrekt. Mit der typeNum kann man gezielt jedes Frame einzeln ansprechen, was ich sehr komfortabel finde. Der Vollständigkeit halber: Es gibt noch andere Schreibweisen:

1. Statt"index.php?id=8&type=2" kannst du auch einfach "8.2.html" schreiben.

2. Du kannst auch einen Aliasnamen verwenden. Den vergibst du unter "Bearbeiten > Seitentitel bearbeiten". Du könntest dann z.B. die Kontaktseite "kontakt" nennen und mit "kontakt.html" aufrufen, was auch eingängiger für User ist.

Welchen von beiden Möglichkeiten man den Vorzug gibt, hängt davon ab, was man konstanter halten möchte: die id oder den alias. Wenn man z.B. mal eine andere Seite als "kontakt.html" haben möchte, kann man die in Ruhe mit einer anderen id aufbauen und dann am Schluss einfach der alten Seite den Alias wegnehmen und an die neue Seite vergeben.

Ich bin auch ein typo3-Newbee, und ich habe bisher eigentlich immer eine Lösung für meine Probs gefunden. Typo3 ist so irrsinnig vielfältig, dass es immer viele Wege nach Rom gibt.

Hau rein...

margas ·

Hallo stpadberg

Danke für Deine Ausführungen. Manchmal schaut man einfach zu weit. Ich habe nun Deinen Alias-Vorschlag umgesetzt. Funktioniert prima und ist auch etwas eleganter als mein Lösungsansatz.

Sieht nun etwa so aus:

# Link zu Home (Icon)
marks.LINK_HOME = HTML
marks.LINK_HOME.value = "home.2.html" TARGET="inhalt"

# Link zu Kontakt (Icon)
marks.LINK_KONTAKT = HTML
marks.LINK_KONTAKT.value = "kontakt.2.html" TARGET="inhalt"

.
.
.

Gruss
Markus Gasser

stpadberg ·

meiner ansicht nach kannst du "target=..." auch noch weglassen. das ergibt sich aus dem ".2" automatisch!

gruss
stefan padberg

margas ·

Da bin ich nun nicht mehr derselben Meinung.
Mit xx.2 spricht man zwar den richtigen Inhalt und Frame an, aber wenn Du den Target nicht angiebst wird die Seite xx.2 im ersten Frame des Framesets dargestellt, was bei mir der Top oder Header-Frame ist. Eventuel kann man dieses Verhalten noch ändern, aber ich habe keine Zeit diesem "kosmetischen Aspekt" nachzugehen, da ich noch viele andere Probleme habe. (eines davon siehe im Backend)

Vielen Dank für Dein Interesse
Gruss
Markus Gasser