Zum Inhalt springen

DropDown erstellen

Erstellt am 14. August 2007 · 15 Antworten · letzte Antwort am 16. August 2007

Tags: Frage

TT.​ ·

Hallo zusammen!! bin noch immer eine blutige Anfängerin, trotz der Versuche mich im TypoScript zurecht zu finden...Ich habe mehrere Sprachen und alles funktioniert soweit ganz gut und wird per 3 Links <a hrefs> umgeschaltet...Jetzt wird aber eine Combobox (DropDown-Feld) benötigt und da ist mein problem:
hab einen quellcode aus dem netz, der scheint aber irgendwie nicht gehen, oder ich wende es falsch an.
Gibt es eigentlich irgendwas stardard-mässiges, was jeder versteht? hier der code

temp.dropdown = COA
temp.dropdown{
20 = HMENU
20.special = directory
20.special.value = 6
20.wrap = <form name="quickmenu" action=""> <select name="pfad" onChange= "window.location='index.php?id=|&L=0'+value " class="intranet_menu"></select></form>

20.1 = TMENU
20.1 {
expAll = 1
NO{
allWrap = <option value="{elementUid}">|</option>
subst_elementUid = 1
doNotLinkIt = 1
}
CUR < .NO
CUR = 1
CUR.allWrap = <option value="{elementUid}" selected>|</option>
}#ende TMENU1

20.2 = TMENU
20.2 {
expAll = 1
NO{
allWrap = <option value="{elementUid}"> &zwnj; </option>
subst_elementUid = 1
doNotLinkIt = 1
}
CUR < .NO
CUR = 1
CUR.allWrap = <option value="{elementUid}" selected> &zwnj; </option>
}#ende TMENU2

}#ende HMENU

bin für jede Hilfestellung dankbar...

mfg

Tatsi

Unbekannter Benutzer ·

Guck dir mal zum einen Beim HMENU special = language an und zum anderen das JSMENU. Das erzeugt nämlich so ein DropDown Auswahl Feld. Mit dieser Kombination solltet du es schaffen können. Wenn du nicht zurechtkommst, frag einfach nochmal.

Viele Grüße
Christian

TT.​ ·

Hallo, vielen Dank für die Rückmeldung, ich weis ehrlich gesagt nicht wirklich was Du meinst, was ist ein JSMENU???

TT.​ ·

nein,leider nicht wirklich...ich hab es grad noch so hinbekommen mehrere links für die umschaltung der sprachen zu erstellen....jedenfalls danke, ich werd mir die tsref anschauen.

:o

TT.​ ·

Hallo, ich bin mit der Combobox nicht viel weiter gekommen, habe verschiedene möglichkeiten ausprobiert, aber irgendwie ging das nicht. Die beste Lösung wäre für mich das nur mit TypoScript zu lösen, aber das wie man unten sieht hat nicht so gut geklappt. Alles das, was auskommentiert ist, sind die gescheiterten Versuche eine Combobox zu erzeugen.....Viel Dank für jeden Tipp...

mfg

#tatsi
#Deutsch
config.linkVars = L
config.sys_language_uid = 0
config.language = de

#English
[globalVar = GP:L=1]
config.sys_language_uid = 1
config.language = en
[global]

#Spanisch
[globalVar = GP:L=2]
config.sys_language_uid = 2
config.language = es
[global]
#tatsi

# Default PAGE object:
page = PAGE
page.typeNum = 0

#tatsi
page.10 = CONTENT
page.10.table = tt_content
#tatsi

page.config.doctype = xhtml_trans
# Copying the content from TEMPLATE for <body>-section:
page.10 < temp.mainTemplate
# Copying the content from TEMPLATE for <head>-section:
page.headerData.10 < temp.headTemplate
page.10.shortcutIcon = fileadmin/content/ico/favicon.ico

#tatsi
page.10.marks.CONTENT {
table = tt_content
select.orderBy = sorting
select.where = colPos = 0
select.languageField = sys_language_uid
}

#tatsi150807
#temp.language = COA
#temp.language{
#10 = TEXT
#10 {
#wrap=<form method="get" action="index.php">
#}

#20 = TEXT
#20 {
#wrap= <select name="L">
#}

#25 = TEXT
#25 {
#wrap=<option value="leer"></option>
#}
#
#30 = TEXT
#30 {
#wrap=<option value="0">Deutsch</option>
#}
#
#40 = TEXT
#40 {
#wrap=<option value="1">English</option>
#}

#70 = TEXT
#70 {
#wrap=</select>
#}

#80 = TEXT
#80 {
#wrap= <input type="submit" name="submit" value="Sprache">
#}

#90 = TEXT
#90 {
#wrap=</form>
#}
#}

#tatsi150807

#tatsi150807
#page.10.marks.SPRACHWAHL = COA
#page.10.marks.SPRACHWAHL <
#page.10.marks.SPRACHWAHL < temp.language

#tatsi150807

#tt
#tatsi

page.20 = TEXT
page.20.wrap = <a href="index.php?id=|&L=0">Deutsch</a><br><br>
page.20.field = uid

#[globalVar = GP:L=1]
page.30 = TEXT
page.30.wrap = <a href="index.php?id=|&L=1">English</a><br><br>
page.30.field = uid

page.40 = TEXT
page.40.wrap = <a href="index.php?id=|&L=2">Espanol</a><br><br>
page.40.field = uid
#[global]

#temp.dropdown = COA
#temp.dropdown{
#50 = HMENU
#50.special = directory
#50.special.value = 3
#50.wrap = <form name="quickmenu" action=""> <select name="pfad" #onChange= "window.location='index.php?id='+value " #class="intranet_menu"></select></form>
#
#50.1 = TMENU
#50.1 {
#expAll = 1
#NO{
#allWrap = <option value="{1}">|</option>
#subst_elementUid = 1
#doNotLinkIt = 1
#}
#CUR < .NO
#CUR = 1
#CUR.allWrap = <option value="{1}" selected>|</option>
# }#ende TMENU1
#
#50.2 = TMENU
#50.2 {
#expAll = 1
#NO{
#CUR.allWrap= <option value="{2}"> &zwnj; </option>
#subst_elementUid = 1
#doNotLinkIt = 1
#}
#CUR < .NO
#CUR = 1
#CUR.allWrap = <option value="{2}" selected> &zwnj; </option>
#}#ende TMENU2
#
#}#ende HMENU

#tatsi140807

Unbekannter Benutzer ·
temp.language = HMENU
temp.language{

special = language
#hier müssen jetzt die IDs deiner Sprachen rein, aus deinem Typoscript entnehme #ich 0,1,2
special.value = 0,1,2

1 = JSMENU

}
page.10.marks.SPRACHWAHL < temp.language

Probier das mal...

TT.​ ·

habs jetzt ausprobiert, allerdings ohne erfolg....die combobox wird einfach nich angezeigt, ich muss es irgendwie anders realisieren, mit html und javascript oda so...kein plan, was ich jetzt machen soll, hab einfach nur zu viele lösungsansätze gelesen und bin jetzt völlig verwirrt, da ich das ganze nich richtig behersche und diese beispiele nicht so wie sie sind einsetzten kann.....zum heulen, echt #angry#

geht es denn überhaupt mit reinem typoscript eine combobox zu erzeugen oder verstehe ich da was falsch?

Unbekannter Benutzer ·

Geht ohne Probleme und ich werde dir morgen nochmal eine andere Variante zusammenstellen....
Lass dich nicht unterkriegen, TYPO3 ist recht komplex und eine Combobox für die Sprachänderung kann man auch nicht als Anfängerproblem bezeichnen...

Wenn meine Alternative morgen nicht klappt, könnte das natürlich auch selbst in dein System einbauen, wenn du willst. Dann meld dich einfach per PM.

Grüße
Christian

TT.​ ·

hehe, danke schön für die morale unterstützung :-)
typo3 ist wirklich komplex und ich hoffe, dass ich es echt irgendwann ma behersche....probiere gleich noch eine möglichkeit aus, mal schaun was raus kommt...

TT.​ ·

Hallo, Christian, hab jetzte folgendes ausprobiert, hab allerdings noch einige Fehler im Javascript, die COmbobox ist da, schaltet aber nicht um...

*********html-template********************************
<script language= "javascript" type="text/javascript">
function go()
{
box = document.forms[0].navi;
destination = box.options[box.selectedIndex].value;
if(destination) location.href = destination;
}
</script>

<form action="" style="margin:0;">
<select name=navi onChange="go()" style="width:120px">
<option value=''>###language###</option>
<option value="###sel_deutsch###">Deutsch</option>
<option value="###sel_english###">English</option>
</select>
</form>

******************constanten im template*********************

language_de{
value = Sprachen
}

language_en{
value = Languages
}

lang_de{
value = 0
}
lang_en{
value = 1
}
******************************setup*********************************

marks.language = TEXT
marks.language.wrap = {$language_de.value}

[globalVar = GP:L=1]
marks.language = TEXT
marks.language.wrap = {$language_de.value}
[global]

marks.sel_deutsch = COA
marks.sel_deutsch = TEXT
marks.sel_deutsch.field = uid
marks.sel_deutsch.wrap = index.php?id=|&L{$lang_de.value}

marks.sel_english = COA
marks.sel_english = TEXT
marks.sel_english.field = uid
marks.sel_english.wrap = index.php?id=|&L{$lang_en.value}
************************ende***********************************

so und das ganze funzt irgendwie auch nich oder ich bin einfach nur unfähig, was viel wahrscheinlicher ist...naja, vielleicht siehst Du den Fehler sogar sofort und ich werd dann erstma weiter probieren

Unbekannter Benutzer ·

Versuch mal folgende Änderungen... Die Constanten können so bleiben. Gut wäre auch, wenn du die URL sagen würdest. Dann kann ich mir das auf der Seite mal ansehen.

Viele Grüße
Christian

*********html-template********************************

<script language= "javascript" type="text/javascript">
function go()
{
if (document.Language.navi.selectedIndex > 0)
      document.location.href= document.Language.navi.value;
 }
}
</script>


<form action="" style="margin:0;" name="Language" id="Language">
<select name="navi" onChange="go()" style="width:120px">
<option value="">###language###</option>
<option value="###sel_deutsch###">Deutsch</option>
<option value="###sel_english###">English</option>
</select>
</form>

******************************setup*********************************

marks.language = TEXT
marks.language.wrap = {$language_de.value}

[globalVar = GP:L=1]
marks.language = TEXT
marks.language.wrap = {$language_de.value}
[global]

marks.sel_deutsch = TEXT
marks.sel_deutsch.field = uid
marks.sel_deutsch.wrap = index.php?id=|&L={$lang_de.value}

marks.sel_english = TEXT
marks.sel_english.field = uid
marks.sel_english.wrap = index.php?id=|&L={$lang_en.value}

************************ende***********************************

TT.​ ·

hi, vielen dank für die änderungen.
habe es ausprobiert, funktioniert immernoch nicht,
es kommt zu einem error in js --> objekt wird erwartet...ich werds weiter versuchen, irgendwann muss sich ja dahinter steigen...

mfg

TT.​ ·

hurra, der fehler ist weg, aber die wird immer noch nich richtig geschaltet und in der url steht jetzt /index.php?id=3#sel_english, also irgendwas wird da nicht richtig übergeben....
werde mal weiter versuchen...

TT.​ ·

ich habe es!!!ich war einfach nur müde und habe was vergessen, bzw übersehen!!!funktioniert alles super...Vielen, vielen Dank!!!