Zum Inhalt springen

TypeNum und "Suchen"...

Erstellt am 31. Januar 2003 · 6 Antworten · letzte Antwort am 22. November 2003

Tags: Suche, Frage

Thomas Schroeder ·

Hi Forum,

habe ein ganz merkwürdiges Problem mit der Suchfunktion und den TypeNum in einem Frameset. Im Frame "seite" befindet sich u.a. die Standard-Suche von Typo3. Das Frameset und alle Contents der Seite funktionieren ganz wunderbar, aber die Suche funktioniert NUR, wenn die TypeNum der Seite den Wert "0" hat. Das geht aber nicht, weil "0" als TypeNum für das Framset reserviert ist. Ich benötige aber das Frameset zwingend und die Suche leider auch...

Außerdem öffnet die Suche immer (auch wenn sie nicht korrekt läuft) ein neues Fenster. Wo und wie kann ich diese Fehler beheben? suche schon seit 4 Tagen in der Doku und diversen Foren, finde aber nix verwertbares... bin halt leider NewBee ;-)

Das Frameset schaut so aus:

bp_frames = PAGE
bp_frames.typeNum = 0
seite = PAGE
seite.typeNum = 1
titelgrafik = PAGE
titelgrafik.typeNum = 2
rechts = PAGE
rechts.typeNum = 3
links = PAGE
links.typeNum = 4
bp_frames.frameSet {
cols = *,780,*
params= border="0" frameborder="0" framespacing="0"
1 = FRAME
1.obj = links
1.params = scrolling="no" marginwidth="0" marginheight="0" frameborder="0" noresize
2 = FRAMESET
2.params = scrolling="no" marginwidth="0" marginheight="0" frameborder="0" noresize
2.rows=110,*
2 {
1 = FRAME
1.obj = titelgrafik
1.params = scrolling="no" marginwidth="0" marginheight="0" frameborder="0" noresize
2 = FRAME
2.obj = seite
2.params = scrolling="auto" marginwidth="0" marginheight="0" frameborder="0" noresize
}
3 = FRAME
3.obj = rechts
3.params = scrolling="no" marginwidth="0" marginheight="0" frameborder="0" noresize
}

Please Help, mein Projekt brennt an!!!

gabba ·

Hi Thomas,
habe gerade das gleiche Problem.
Hast Du eine Lösung gefunden - ich wäre für Deine Hilfe sehr dankbar.
gruss
gabba

Thomas Schroeder ·

Hi Gabba,

tja, ich habe einfach ein externes Frameset gestrickt und Typo3 damit sozusagen ausgetrickst. Überhaupt ist der Einsatz von Frames gar nicht so optimal, denn die Indizierung in Suchmaschinen geht praktisch immer schief. Besser ist es insgesamt, eine "intelligente" Planung des Layouts vorzunehmen und alles innerhalb der Typo3-Umgebung zu realisieren. Wir sind nach inzwischen 26 Typo3-Projekten vom Framekonzept weitgehend abgekommen, wir setzen es nur noch ein, wenn z.B. ein animierter Flash-Header verwenden wird, bei dem der Reload nach jedem Klick eher stören würde.

Tut mir leid, dass ich Dir nicht mehr sagen kann, trotzdem viel Erfolg mit Typo3, ist ein echt geiles System!!

gabba ·

Hallo Thomas
vielen Dank für die schnelle Antwort.
Die Sache mit den Frame ist auch nur ein Kundenwunsch gewesen und jetzt macht es mir ohne ende Arbeit.
Ich bin mir auch sicher das ist das letzte Projekt mit Frames!!!
Es hat einfach nur Nachteile.

Wie es immer so ist hab ich die Frage gestellt und dann auch die Antwort gleich gefunden.
Also für alle die noch suchen:

tt_content.search.30.target = maincontent
tt_content.search.20.target = maincontent

"maincontent" ist der framename.

Also nochmal Danke
gabba

wolfie ·

Hallo,

frames sind zwar ein bisschen schwieriger - aber es geht.

Meine Lösung (Banner mit Hauptmenü, linke Menüseite und Hautpcontent) :

Die Setupdatei:

#Hier werden globale Definitionen hinterlegt

config{
#simulateStaticDocuments_pEnc=md5
#simulateStaticDocuments_addTitle=20
#simulateStaticDocuments_addAlias=20
#simulateStaticDocuments=1
# simulateStaticDocuments= PATH_INFO
# simulateStaticDocuments_noTypeIfNoTitle=1
index_enable = 1 # für Indexsuche
index_externals = 1 # für Indexsuche
language = de
PAGE_TARGET = _top
intTarget = page # sauwichtig für Extensions
}

# Seitendefinition

page = PAGE

menu = PAGE
# Hier könnte ein ander Stylesheet eingebunden werden!
menu.stylesheet = fileadmin/css/css.css
top = PAGE
top.stylesheet = fileadmin/css/css.css
content = PAGE
content.stylesheet = fileadmin/css/css.css

top.typeNum = 4
content.typeNum = 3
menu.typeNum = 2
page.typeNum = 1

outer_frameset = PAGE
outer_frameset.typeNum = 0
outer_frameset.frameSet.rows = 103,*
outer_frameset.frameSet.params = framespacing="0" frameborder="0" border="0"
outer_frameset.frameSet {
1 = FRAME
1.obj = top
1.params = frameborder="0" noresize marginheight="0" border="0" scrolling="NO"
2 = FRAME
2.obj = content
2.params = frameborder="0" noresize marginheight="0" border="0" scrolling="NO"
}

# Def - nested frame

content.frameSet.cols = 170, *
content.frameSet.params = framespacing="0" frameborder=0 border="0"
content.frameSet {
1 = FRAME
1.obj = menu
1.params = marginwidth="0" marginheight="0" scrolling="no" frameborder="0" noresize
2 = FRAME
2.obj = page
2.params = marginwidth="5" marginheight="5" scrolling="auto" frameborder="0" noresize
}

# Definition Inhalt der Hauptseite
page.10 = TEMPLATE
page.10 {
template = FILE
template.file = fileadmin/frames/content.html
workOnSubpart = DOCUMENT_BODY
subparts.CONTENT < styles.content.get
subparts.CONTENT1 < styles.content.getRight
#subparts.CONTENT1.stdWrap.required = 1
#subparts.CONTENT1.stdWrap.wrap = <div class="inhalt3">|</div>
#Druckansicht
subparts.PRINT = IMAGE
subparts.PRINT.file = fileadmin/polim/sym_druck.gif
subparts.PRINT.imageLinkWrap = 1
subparts.PRINT.imageLinkWrap.enable = 1
subparts.PRINT.imageLinkWrap.typolink{
target = _blank
no_cache = 1
parameter.data = field:uid
additionalParams = &type=98&uid
ATagBeforeWrap = 1
}
#Einstellungen für die rootline unter dem Content
subparts.KLAPPEN = HMENU
subparts.KLAPPEN {
special = rootline
special.range = 0|-1
1= TMENU
1.target = content
1.NO.linkWrap =||*|&nbsp;<img src="fileadmin/polim/pfeil_gelb.gif">&nbsp;|*|
}
# last update - Autor
subparts.AUTOR= TEXT
subparts.AUTOR.field= author
subparts.AUTOR.wrap= <font size=1 face="verdana,arial,helvetica">Autor:&nbsp;|</font>
subparts.LAST_UPDATE= TEXT
subparts.LAST_UPDATE.field= SYS_LASTCHANGED
subparts.LAST_UPDATE.date= d.m.Y
subparts.LAST_UPDATE.wrap= <font size=1 face="verdana,arial,helvetica">Letzte Änderung:&nbsp;|</font>
}

# Definition des horizontalen Menüs - 1.Menüebene
top.10 = TEMPLATE
top.10 {
template = FILE
template.file = fileadmin/frames/top.html
workOnSubpart = DOCUMENT_BODY
subparts.MENU= HMENU
subparts.MENU.entryLevel = 0
subparts.MENU.excludeUidList = 58, 102
subparts.MENU.1 = GMENU
subparts.MENU.1.target = content
subparts.MENU.1.NO {
XY = [10.w]+20,20
backColor = #297b52
10 = TEXT
10.fontSize = 10
10.text.field = title
10.offset = 1,15
10.align = center
10.fontColor = #ffffff
# wrap = |
}
#Farbbalken über den Menüs
subparts.MENU.1.RO < .subparts.MENU.1.NO
subparts.MENU.1.RO = 1
subparts.MENU.1.RO.backColor = #ffcc00

}

# Definition des Menüframes
menu.10 = TEMPLATE
menu.10 {
template = FILE
template.file = fileadmin/frames/menu.html
workOnSubpart = DOCUMENT_BODY
# Einstellungen der 2. Menüebene
subparts.MENU_LEVEL1 = HMENU
subparts.MENU_LEVEL1.1 = GMENU
subparts.MENU_LEVEL1.1.target = content
subparts.MENU_LEVEL1.entryLevel = 1
subparts.MENU_LEVEL1.1.NO {
XY = 143,18
backColor = #a8d5bb
10 = TEXT
10.fontSize = 10
10.text.field = title
10.offset = 5,13
10.align = left
10.fontColor = #000000

}
#Farbbalken über den Menüs
subparts.MENU_LEVEL1.1.RO < .subparts.MENU_LEVEL1.1.NO
subparts.MENU_LEVEL1.1.RO = 1
subparts.MENU_LEVEL1.1.RO.backColor = #ffcc00

#Einstellungen der 3.Menüebene
subparts.MENU_LEVEL1.2 = GMENU
subparts.MENU_LEVEL1.2.expAll = 0
subparts.MENU_LEVEL1.2.target = content
subparts.MENU_LEVEL1.2.NO {
XY = 137,18
backColor = #a8d5bb
10 = TEXT
10.fontSize = 10
10.text.field = title
10.offset = 10,13
10.align = left
10.fontColor = red

}
#Farbbalken über den Menüs
subparts.MENU_LEVEL1.2.RO < .subparts.MENU_LEVEL1.2.NO
subparts.MENU_LEVEL1.2.RO = 1
subparts.MENU_LEVEL1.2.RO.backColor = #ffcc00

#Einstellungen der 4.Menüebene
subparts.MENU_LEVEL1.3 = GMENU
subparts.MENU_LEVEL1.3.target = content
subparts.MENU_LEVEL1.3.NO {

XY = 137,18
backColor = #a8d5bb
10 = TEXT
10.fontSize = 10
10.text.field = title
10.offset = 15,13
10.align = left
10.fontColor = blue

}
#Farbbalken über den Menüs
subparts.MENU_LEVEL1.3.RO < .subparts.MENU_LEVEL1.3.NO
subparts.MENU_LEVEL1.3.RO = 1
subparts.MENU_LEVEL1.3.RO.backColor = #ffcc00

}

#plugin.tx_macinasearchbox_pi1 {
#pidSearchpage = 1
#template = FILE
#templateFile = fileadmin/templates/template.html
#}

tt_content.menu.20.2 < styles.sitemap.gs

# Einige configs zur Suche
plugin.tx_indexedsearch.result_link_target = content
#plugin.tx_indexedsearch.show.parsetimes = 1
#plugin.tx_indexedsearch.show.L2sections = 1
#plugin.tx_indexedsearch.show.LxALLtypes = 1

# Einiges zum Advanced Calendar

plugin.tx_advCalendar_pi1{

timeSelect.Start = 8
timeSelect.End = 23
timeSelect.Interval = 30
fillEndDate = 1
}

plugin.tt_news {
templateFile = fileadmin/templates/news_template.tmpl
displayList {
age_stdWrap.age = 1
date_stdWrap.strftime= %A, %d.%m.%Y
time_stdWrap.strftime= %d.%m.%Y %H:%M
caption_stdWrap.wrap = <font face=verdana size=1 color=navy>|</font>
caption_stdWrap.trim=1
caption_stdWrap.required=1
subheader_stdWrap.crop = 300 | ...
subheader_stdWrap.ifEmpty.field = bodytext
imageCount=1
imageWrapIfAny =
}
}

plugin.tx_gsttopcontent_pi1 = USER
plugin.tx_gsttopcontent_pi1 {
link_stdWrap {
innerWrap = <font size=1 face="verdana,arial,helvetica"><b>|</b></font>

}

pagetitle_stdWrap{
innerWrap = <font size=2 face="verdana,arial,helvetica"><b>|</b></font>

}

header_stdWrap {
innerWrap = <font size=1 face="verdana,arial,helvetica"><b>|</b></font>

}

bodytext_stdWrap {
innerWrap = <font size=1 face="verdana,arial,helvetica">Auszug:&nbsp;|</font>
spaceAfter = 10
} // end header_stdWrap

tstamp_stdWrap {
innerWrap = <font size=1 face="verdana,arial,helvetica">Letzte Änderung:&nbsp;|</font><br>
}

} // end plugin.tx_gsttopcontent_pi1

------------------------------------------------------------
Die Konstanten:

#constants

content.stylesheet.file = fileadmin/css/css.css

#plugin Printversion

plugin.alt.print.file.template = fileadmin/templates/printversion_content.tmpl

# Plugin Sitemap

styles.sitemap.gs.color = #2a7f55
styles.sitemap.gs.wrap1 = <B><FONT size="1" face="Verdana, Arial, Helvetica, sans-serif" color="black"> | </FONT></B>
styles.sitemap.gs.headerWrap = <DIV align="center"><B><FONT size="2" face="Verdana, Arial, Helvetica, sans-serif" color="black"> | </FONT></B></DIV>

# Plugin Adressen
content.tt_address.name.case = upper
content.tt_address.name.wrap = <h3> |</h3>

plugin.gsttopcontent.linkPageTitle = 1
plugin.gsttopcontent.tagsAllowed =
plugin.gsttopcontent.maxRecs = 25

Das Ganze ist der Rohentwurf, der aber funktioniert.

Zwischenzeitlich habe ich die Extension in extra templates eingepflegt und lade sie nach Bedarf hinzu.

Indexed Search (out od the box) funktioniert hervorragend, d.h. alle Seiten, PDF und DOCs werden eingebunden. Die Seite für den Contentbereich steuere ich noch mit den Zusatz "content" "_top" oder "page" (Feld: Ziel).
Der Banner bleibt bestehen - durch die nestet Frames (menü und content) wird der Rest immer akteull gehalten.

Vielleicht hilft das weiter

Schönes Wochenende

Wolfie

gabba ·

Hallo Wolfie

Vielen Dank - das ist mal ausführlich und schnell!
Ich glaub ich hätte früher schonmal fragen sollen.

ebenso schönes wochenende
gabba

Thomas Schroeder ·

Hallo Wolfie,

das ist die erste schnelle und wirklich ausführliche und gut dokumentierte Antwort, doie ich hier sehe. Endlich mal was ohne das übliche "patch einfach die datei schmurgel.php in Zeile 427 bei $irgendwas auf FF01A2" oder os ähnlich.

Supergut, Danke!