hallo forum,
ich habe das problem das ich mein gmenu (foldout) relativ zu einem div container positionieren will. leider hab ich keine arnung wie das geht ich weis nur wie ich das menu relativ zum browser fenser positioniere (mit offset). leider bringt mir das nichts da mein menu zentriert ist und es sich je nach auflösung verschiebt wenn man es relativ zum browserfenster positioniert.
hier der quelltext meines html templates:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Unbenanntes Dokument</title>
<link href="../css/layout.css" rel="stylesheet" type="text/css">
</head>
<body>
###DOKUMENT###
<div id="main">
<div id="banner"></div>
<div id="navtop">###MENU_OBEN###</div>
<div id="navigation" class="navigation">###NAVIGATION###</div>
<div id="content" class="content-inhalt">###CONTENT###</div>
<div id="thema">###THEMA###</div>
</div>
###DOKUMENT###
</body>
</html>
hier mein css code:
body {
margin-top: 0px;
}
#main {
position: relative;
margin: 0 auto;
width: 955px;
height: 100%;
}
#banner {
background-image: url(../images/layout/header.jpg);
height: 70px;
width: 955px;
display: block;
position: absolute;
left: 0px;
top: 0px;
margin-left:auto;
margin-right:auto
}
#navtop {
background-image: url(../images/layout/balken_bar.jpg);
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333333;
width: 955px;
height: 22px;
display: block;
position: absolute;
left: 0px;
top: 70px;
padding-top: 3px;
}
#navigation {
border-left: 1px dashed #333333;
border-right: 1px dashed #333333;
width: 200px;
height: 100%;
vertical-align: top;
background-color: #F8F8F8;
display: block;
position: relative;
top: 95px;
left: 0px;
}
#content {
width: 545px;
height: 100%;
left: 205px;
top: 95px;
position: absolute;
}
.content-inhalt {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: 333333;
text-align: justify;
vertical-align: top;
line-height: 18px;
}
#thema {
border-left: 1px dashed #333333;
border-right: 1px dashed #333333;
vertical-align: top;
background-color: #F8F8F8;
width: 200px;
height: 100%;
display: table-cell;
position: absolute;
top: 95px;
left: 755px;
}
#copyright {
background-image: url(../images/layout/balken_bar.jpg);
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #333333;
width: 955px;
height: 22px;
display: block;
position: absolute;
left: 0px;
bottom: 0px;
}
hier mein typoscript:
#includes Libs
includeLibs.gmenu_foldout = media/scripts/gmenu_foldout.php
# Default PAGE object:
seite = PAGE
seite {
typeNum = 0
includeCSS.file1 = fileadmin/css/layout.css
#includeCSS.file1 = fileadmin/css/link.css
10 = TEMPLATE
10.template = FILE
10.template.file = fileadmin/templates/layout.html
10.workOnSubpart = DOKUMENT
10.marks { # start
MENU_OBEN = HMENU
MENU_OBEN.special = directory
MENU_OBEN.special.value = 2
MENU_OBEN.1 = TMENU
MENU_OBEN.1.NO = 1
MENU_OBEN.1.NO.ATagParams = class="navtop"
MENU_OBEN.1.NO.linkWrap = |
NAVIGATION = HMENU
NAVIGATION.special = directory
NAVIGATION.special.value = 3
NAVIGATION.1 = GMENU_FOLDOUT
NAVIGATION.1 {
expAll = 1
displayActiveOnLoad = 1
dontLinkIfSubmenu = 1
stayFolded= 0
foldSpeed = 1
menuOffset = 0, 93
subMenuOffset = 0, 20
}
NAVIGATION.1.NO {
XY = 199, 20
backColor = #1a55a5
wrap = | <br>
10 = TEXT
10 {
text.field = title
fontColor = #FFFFFF
fontSize = 10
fontFile = fileadmin/fonts/verdana.ttf
offset = 3, 14
niceText = 1
}
20 = IMAGE
20.file = GIFBUILDER
20.file {
XY = 199, 1
backColor = #CCCCCC
}
20.offset = 0, 19
}
NAVIGATION.1.RO = 1
NAVIGATION.1.RO {
wrap = | <BR>
XY = 199, 20
backColor = #003366
10 = TEXT
10 {
text.field = title
fontColor = #FFFFFF
fontSize = 10
fontFile = fileadmin/fonts/verdana.ttf
offset = 3, 14
niceText = 1
}
20 = IMAGE
20.file = GIFBUILDER
20.file {
XY = 199, 1
backColor = #CCCCCC
}
20.offset = 0, 19
}
NAVIGATION.2 = TMENU
NAVIGATION.2.NO {
linkWrap = <nobr><table width="199px" height="20" border=0 cellpadding="0" cellspacing="0"><tr><td class="navigation">|</td></tr></table></nobr>
ATagParams = class="navigation"
}
CONTENT = CONTENT
CONTENT { #Content start
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
ATagParams = class="content"
} #Content end
THEMA = CONTENT
THEMA {
table = tt_content
select {
# PID der Seite von der die Daten stammen
pidInList = 58
# Sortierungsregeln?
orderBy = sorting
# Welche Spalte... 0 ist (meist) die spalte "normal"
where = colPos=0
}
}
COPYRIGHT = TEXT
COPYRIGHT.value = ©2004 ByteAction GmbH - Alle Rechte vorbehalten.
} # marker end
} #end
das Menu soll an der stelle erscheinen wo der Marker ###NAVIGATION### steht. das problem könnt ihr euch auf www.byteaction.de/cms anschauen
vielen dank im voraus
greetz nugget
was den los? kennt keiner eine lösung?
hi,
bei menuoffset kannst du glaub ich die position ändern,
das gleiche auch bei submenuoffset, das ist aber relativ zum menu
viel erfolg 😉
ja das ist schon klar das ich das dort ändern kann. das problem ist nur das es dann relative zum browserfenster ausgerichtet ist und nicht relativ zum <div id="navigation">###NAVIGATION###</div>!
es muss doch einen weg geben
Ein Blick in den Quelltext und es dürfte klar sein,
daß dein Stylesheet für das Foldout nicht greift.
Hast du dir schon mal die gmenu_foldout.php angesehen ?
Dort solltest du das Problem ja wohl lösen können.
(Dieses rauszufinden hat mich 5 Minuten gekostet, aber ich bin ja auch kein Fachinformatiker #giggle# #giggle# #giggle# #giggle# #giggle# )
viele Grüße
jenses
Und wie ist jetzt die Lösung des Problems?
Ja, eine Lösung würde mir ebenfalls weiterhelfen. Jeder Eingriff in die gmenu_foldout.php erzeugt nur Fehlermeldungen. Ist mir zu hoch. Geht um diese Zeilen, denke ich mal:
00177 <style type="text/css">
00178 /*<![CDATA[*/
00179 #divCont {
00180 Z-INDEX: 1; LEFT: '.$menuOffset[0].'px; VISIBILITY: hidden; WIDTH: '.$mWidth.'px; POSITION: absolute; TOP: '.$menuOffset[1].'px; HEIGHT: '.$mHeight.'px
00181 }
Also wenn das noch jemand auf Anhieb sieht (z.B. Jenses) was ich da ändern muss, damit sich das Foldoutmenü an Marker und Stylesheet orientiert, dürfte damit ein häufiges Ärgernis beim gmenu_foldout beseitigt sein.
Nochwas: Kann das sein, dass das gmenu_foldout nicht mit Opera kann?
Danke fürs lesen!
Jens
Habe das Problem für mich gelöst, indem ich die
media/scripts/gmenu_foldout.php folgendermaßen geändert habe (Typo 3.6.2):
Zeile 229 (alt):
$GLOBALS['TSFE']->divSection.= '
Zeile 229 (neu):
$my_content='
Zeile 238 (alt):
return '';
Zeile 238 (neu):
return $my_content;
Das sorgt dafür, dass der Inhalt des Menüs nicht im Teil für dhtml-divs ausgegeben wird (also am Anfang des Body), sondern an der Marker-Position.
Ich habe vorher die Datei natürlich als "gmenu_foldout_bugi.php" kopiert und diese über Typoscript mit
includeLibs.gmenu_foldout = media/scripts/gmenu_foldout_bugi.php
eingebunden
Ob das Probleme mit irgendwelchen Browsern verursacht, weiß ich nicht, aber zumindest in Firefox funzts.
edit:
Ach so; die geänderten Zeilen sind am Ende von
function extProc_finish()
, falls sich die Zeilen in anderen Typo-Versionen verschieben sollten.
Wow.
Warum ist denn das nicht defaultmäßig so, wenn das so einfach ist? Ist doch viel logischer, dass man sein Menü an der Stelle haben will, wo man den Marker gesetzt hat...
Vielen Dank, ich werde das bei Gelegenheit mal ausprobieren. Im Moment hab ich das Foldout-Menü rausgeschmissen, hat mich wahnsinnig gemacht und dem Auftraggeber gefällt das Gmenu wie es ist, also bleibts erstmal.
Vor allem aber muss man die Lösung mal auf typo3.org posten, da gibts nämlich etliche Leut, die denken, das ginge partout nicht, z.B. Bill Stoltz, bstoltz81(AT)comcast.net 🙂
Also danke nochmal,
Gruß,
Jens
Warum ist denn das nicht defaultmäßig so, wenn das so einfach ist?
Ich denke, dass das irgendwelche Renderprobleme in älteren Browsern verursachen wird.
Für mich entscheidend ist aber an meiner Variante der "barrierefreie" Zugang, der in meinem momentanen Projekt eine große Rolle spielt, da die Menüs strukturell an der richtigen Stelle ausgegeben werden und nicht, wie im default erstmal alle submenus der Seite ausgespuckt werden. Und letztendlich, die Möglichkeit, die Präsenz so auf dem Bildschirm auszurichten, wie es mir passt.
Ich habe versucht meinen Beitrag auf typo3.org zu posten (1/2 Std. englisch zusammenstammeln), um dann festzustellen, dass ich kein Subscriber in der MailListe bin. Jetzt habe ich keine Lust mehr.
Renderprobleme in älteren Browsern
Bei mir hat das Gmenu-Foldout im Opera überhaupt nicht funktioniert, ältere Browser haben das Teil sonstwohin verschoben.
Ich kann die Lösung gerne in mit den entsprechenden Credits als Mini-HowTo auf t3.org posten. Der Hinweis auf Barrierefreiheit macht es bestimmt 300% lesenswerter.
Gruß,
Jens
Wie funktioniert das ganze eigentlich für die GMENU_LAYERS Version. Hat das jemand schon herausgefunden, was da im PHP-Script geändert werden muss? Hier sieht das Script ja etwas umfangreicher aus.
da kann ich nur aufs typo3.org User List Archive verweisen. Ich erinnere mich, dass ich mehrmals über Lösungen für das Layer-Menü gestolpert bin, was mich aber nicht interessierte, weil ich ja das Foldout-Dings benutzen wollte. Hier auf t3.net ist Layer auch etwas aus der Mode gekommen, jeder macht hier an dem ypslideout menü rum, hab ich so den eindruck.
Gruß,
Jens
Ja dieses Menü scheint es den Leuten angetan zu haben.
Ich denke da muss wohl doch im Typo-Core der Div hardcoded werden.
Zunächst möchte ich euch für den kleinen Patch Danken.
Wenn man mal drüber nachdenkt, hätte man sich wirklich schnell selbst einen Patch bauen können.
alias7x schrieb
Vor allem aber muss man die Lösung mal auf typo3.org posten, da gibts nämlich etliche Leut, die denken, das ginge partout nicht, z.B. Bill Stoltz, bstoltz81(AT)comcast.net 🙂
Wie schon gesagt wurde, muss typo3.org einiges tun bevor die Postings von mir erwarten dürfen.
alias7x schrieb
Nochwas: Kann das sein, dass das gmenu_foldout nicht mit Opera kann?
Danke fürs lesen!
Der neue Opera 8 zickt, das er eine Pest sein soll, wie ich in dem zusammenhang bereits gelesen habe,
hielt ich aber für unsinn. Diese Tatsache und euer kleiner ansporn hier,
hatt mich dazu verleitet mir das mal anzusehen.
Die Lösung ist einfach, er ist jetzt weitesgehends CSS2 kompatibel,
bau für den 8ter Opera alle Hacks des 7ners in gmenu_foldout.php wieder aus.
Vergiss dabei aber die opera 7 Surfer nicht.
Wer ist meiner meinung, das die Browsererkennung in gmenu_foldout.php eine kleine Kosmetik runde verdient hatt?
Weil ich eine saubere unterscheidung will(nie Javascript ohne Wasserdichtheit),
und ich keine möglichkeit sehe das foldout auf Pure CSS zu patchen,
wird es noch etwas dauern, aber ich werd eine alternative Version der Community zur verfügung stellen.
Sollte es mein Patch nicht ins System schaffen, gibt es schnelle Hacks bei mir direkt.
Nächste Woche oder in zwei dürft ihr allerdings mal nach einer relative und Browser dichten Variante gucken.
Ich werd mir ein bisschen Zeit nehmen dafür.
[ot]
PN gibt es hier ja nicht?
Email geb ich nicht raus, mein rechner ist in gehacktem zustand und geht nicht online.
Fragt bitte hier im Thread, und lernt euer Board regelmässig zu besuchen,
die Anzahl der unbeantworteten Fragen hier, übersteigt die Antworten bei weitem.
[/ot]
Hallo,
@bugi: super Beitrag! Die Positionierung klappt in FF und IE wunderbar!
Nur habe ich 1 Stunde versucht irgendwelche "caches" zu löschen, da mir nicht klar war, dass media\scripts nicht auf das gleichnamige Verzeichnis sondern seit Ver. 4 auf typo3/sysext/cms/tslib/media/scripts/ verweist. #giggle#
Also falls noch jemand sich damit rumschlägt...
Nun habe ich nur noch das Problem, den foldouteffekt innerhalb der Untermenüseiten zu verhindern. Habe hier schon mal gesucht, aber weiss gar nicht so genau wonach ich suchen soll 😃
Verwendet noch jemand das Foldout Menu ohne Frames und hat eine Lösung ?
LG