/ Forside/ Teknologi / Udvikling / HTML / Spørgsmål
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
Nyhedsside på flere sprog
Fra : bbn
Vist : 482 gange
100 point
Dato : 08-02-04 09:48

Skal administrere en hjemmeside med tre versioner - dansk, tysk og engelsk. Men så vidt jeg kan se, er der kun én "opret nyheder" - side, dvs jeg kan kun lave nyhedssiden på ét af sprogene. Findes der en løsning på dette problem? Mvh.

 
 
Kommentar
Fra : severino


Dato : 08-02-04 10:31

Jeg ved ikke om jeg forstår din korte version af spørgsmålet?

Er det sådan at du vil have alle tre sprog på samme side, og hvor man kan vælge mellem sprogene med et lokalt link?

Eller er det noget mere avanceret?

Kommentar
Fra : Phylock


Dato : 08-02-04 10:38

øhhh ... du må nok give lidt mere information
hvad er det for et script sprog du bruger og er det et der er hentet og derfor skal tilpasses

mvh
Phylock`

Kommentar
Fra : severino


Dato : 08-02-04 10:47

En god forklaring, kræver et detaljeret spørgsmål, som er til at forstå!

PÅ DEN IGEN "BBN" (Be better now)

Kommentar
Fra : molokyle


Dato : 08-02-04 11:46

Du må finde ud af hvilken klient der besøger din side via et browser detect script : http://builder.com.com/5100-6371-5069931.html

..og : http://developer.irt.org/script/21.htm

Så kan du omdiagere til aktuelle sider med passende sprog,ved at udvikle lidt på dette script :http://echoecho.com/dk/toolbrowserredirect.htm

</MOLOKYLE>



Kommentar
Fra : bbn


Dato : 08-02-04 11:58

Kære Phylock & severino

- ja, jeg kan godt se, at spørgsmålet måske var liiige lovlig abstrakt! Er virkelig nybegynder...
Altså, der er gjort klar til tre forskellige nyhedssider, en på hvert sprog. Men der er kun én side, hvor man kan gå ind og oprette nyheder, dvs at det ikke er muligt at få forskelligt indhold ud på de tre sider.
Og det er det, jeg gerne vil have: tre separate nyhedssider med hver sit link og hver sit sprog.
Hjemmesiden er lavet i FrontPage og nyhedssiden hedder nyhed.asp.
Den del af HTML´en, som vedrører indholdet, ser (vistnok) sådan ud:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/mp.mdb")
If Request.QueryString("ID")<>"" then
   SQL = "select * from Nyheder WHERE ID=" & Request.QueryString("ID")
   Conn.Execute (SQL)
   Set rs = Conn.Execute(SQL)
   'Response.Write "<img border=0 src=images/nyhed.jpg><br><br>"
   Response.Write "Nyhed er fra d. " & rs("Dato") & "<br><br>"
   Response.Write "<b>" & rs("Overskrift") & "</b><br><br>"
   Indhold=rs("Indhold")
   For x = 1 to Len(Indhold)
      If mid(Indhold,x,1)=chr(13) then
         Response.Write "<br>"
      Else
         Response.Write mid(Indhold,x,1)
      End If
   Next
   'Response.write rs("Indhold") & "<br><br>"
   Response.Write "<br><br><br><i>Forfatter : " & rs("Forfatter") & "</i>"
   Response.Write "<br><br><center><a href=nyheder.asp><font color='#2e4e2e'>Tilbage til oversigt</font></a></center>"
Else
   'Response.Write "<img border=0 src=images/nyhed.jpg><br><br>"
   Response.Write "<b>Oversigt over nyheder : </b><br><br>"   
   SQL="SELECT * FROM fNyheder"
   Conn.Execute (SQL)
   Set rs = Conn.Execute(SQL)
   rs.movefirst
      do while not rs.eof
         If rs("Dato")+60 > Date Then
            Response.Write rs("Dato") & " - <a href=nyheder.asp?id=" & rs("ID") & "><font color='#2e4e2e'>" & rs("Overskrift") & "</font></a><br>"
            Response.Write "<font size=1>"
            Response.Write Left(rs("Indhold"),45) & "</font><br><br>"

Hjalp det lidt?
Mvh bbn

Kommentar
Fra : molokyle


Dato : 08-02-04 12:15

Det simpleste er at lave en index.html med mulighed for brugeren selv at vælge sprog f.eks:

[code]
<HTML>
.
.
<BODY>
<a href="dansk.html"><img src="dansk.flag.gif"></a>
<br>
<a href="engelsk.html"><img src="engelsk_flag.gif"></a>
<br>
<a href="tysk.html"><img src="tysk_flag.gif"></a>
<br>
.
.
</BODY>
</HTML>
[code]

Husk at du på de enkelte sprogsider skal vælge det tilhørende ISO tegnsæt : http://www.iana.org/assignments/character-sets

Disse skal stå i sidens <!DOCTYPE...> dekleration.

</MOLOKYLE>

Kommentar
Fra : molokyle


Dato : 08-02-04 12:16

Ps. Kandu.dk's parser laver 'ged' i mit ovenstående eksempel : Der mangle </a> tag's lige før <br>

</MOLOKYLE>

Kommentar
Fra : severino


Dato : 08-02-04 12:26

Jeg kan godt se at du har lidt af et problem, når du er helt nybegynder, og hopper ud i et sådant projekt.
Det er som at hoppe ud fra 10 meter vippen uden at kunne svømme.

Jeg har prøvet at kopiere dette script ind i min webeditor, men den giver umiddelbart ikke noget fornuftigt resultat, da der mangler et eller andet.
Jeg har ikke mulighed for SQL, ASP og PHP på min maskine, når jeg arbejder lokalt, så det er et af mine problemer.

Kommentar
Fra : molokyle


Dato : 08-02-04 12:38

severino -> Du har kun mulighed for at kører SSI (Server Side Interface) kode som f.eks ASP hvis du har f.eks PWS (Personal Web Server) installeret på din maskine. ASP (Active Server Pages) kan KUN afvikles på servere. Du skal i dette tilfælde også have oprettet en ODODB connection til Access *.mdb via Kontrolpanel'ets ODBC datakilder's DNS forbindelse.

</MOLOKYLE>

Kommentar
Fra : severino


Dato : 08-02-04 12:48

Hej MOLOKYLE
Det vil jeg overveje, men har det problem, at de tre harddiske der er i putteren er næsten fyldt, så jeg skal have en større "skive" lagt ind i min gamle kværn.
Tak for tippet!

Kommentar
Fra : bbn


Dato : 08-02-04 12:51

Den side, hvor nyheden skal oprettes, har flg. kode:


<%Session.LCID = 1030%>
<%
'Her bliver der undersøgt om session("Adgang") er sat til Godkendt, er den ikke det bliver man sendt tilbage til adgangskontrol.asp med en fejlmeddelelse
   If Not Session("Adgang") = "Godkendt" Then
      Response.Redirect("login.asp?valg=forbudt")
   End If

Dato=Date
Overskrift=Request.Form("Overskrift")
Indhold=Request.Form("Indhold")
Forfatter=Request.Form("Forfatter")

strConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../database/mp.mdb")
Set rs = Server.CreateObject("ADODB.RecordSet")
strQ = "SELECT * FROM Nyheder"
rs.Open strQ, strConn, 1, 2

rs.AddNew
rs("Overskrift")=Overskrift
rs("Indhold")=Indhold
rs("Forfatter")=Forfatter
rs("Dato")=Dato
rs.Update

rs.Close
Set rs = Nothing

response.Redirect ("krop.asp?valg=nyhed")
%>

mvh bbn

Kommentar
Fra : molokyle


Dato : 08-02-04 12:53

severino -> Velkommen i klubben

</MOLOKYLE>

Kommentar
Fra : molokyle


Dato : 08-02-04 12:58

bbn -> Den omtalte side, hvor 'nyheden' skal oprettes må du erstatte med en side der automatisk redirect'er klienten til det sprog der benyttes ...eller lade brugeren vælge sprog. Det 'smarteste er dog at lade 'valget' ske på index.html siden

</MOLOKYLE>

Kommentar
Fra : Phylock


Dato : 08-02-04 14:50

så jeg tilbage ... og jeg kan se at molokyle har blandet sig som han altid gør når det er HTML :D

her er hvad der skal gøres ...
i opret skal der tilføjes noget kode

<%Session.LCID = 1030%>
<%
'Her bliver der undersøgt om session("Adgang") er sat til Godkendt, er den ikke det bliver man sendt tilbage til adgangskontrol.asp med en fejlmeddelelse
If Not Session("Adgang") = "Godkendt" Then
Response.Redirect("login.asp?valg=forbudt")
End If Dato=Date
ENOverskrift=Request.Form("ENOverskrift") ' der skal kunne modtages flere fra formen
ENIndhold=Request.Form("ENIndhold")
GEOverskrift=Request.Form("GEOverskrift")
GEIndhold=Request.Form("GEIndhold")
DKOverskrift=Request.Form("DKOverskrift")
DKIndhold=Request.Form("DKIndhold")




Forfatter=Request.Form("Forfatter")

strConn = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../database/mp.mdb")
Set rs = Server.CreateObject("ADODB.RecordSet")
strQ = "SELECT * FROM Nyheder"
rs.Open strQ, strConn, 1, 2

rs.AddNew
rs("ENOverskrift")=ENOverskrift 'vi skal have nogle flere versioner af nyheden så dem må vi lave plads til
rs("ENIndhold")=ENIndhold
rs("GEOverskrift")=GEOverskrift
rs("GEIndhold")=GEIndhold
rs("DKOverskrift")=DKOverskrift
rs("DKIndhold")=DKIndhold
rs("Forfatter")=Forfatter
rs("Dato")=Dato
rs.Update

rs.Close
Set rs = Nothing

response.Redirect ("krop.asp?valg=nyhed")
%>

og i den Form hvor du tilføjer skal der så tilføjes de 2 ekstra Overskrift og indhold bokse der skal omdøbes til overstående ...

...

så når nyheds siden loades skal et script lige finde ud af hvad for en det der skal vises og så kalde den rigtige

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../database/mp.mdb")
If Request.QueryString("ID")<>"" then
SQL = "select * from Nyheder WHERE ID=" & Request.QueryString("ID")
Conn.Execute (SQL)
Set rs = Conn.Execute(SQL)
'Response.Write "<img border=0 src=images/nyhed.jpg><br><br>"
Response.Write "Nyhed er fra d. " & rs("Dato") & "<br><br>"
if sprog = "DK" then 'sprogvariablen skal lige defineres ... med en session eller *.asp?sprog=DK men det må du lige selv finde ud af hvad der er smartest
overskrift= rs("DKoverskrift")
Indhold=rs("DKindhold")
elseif sprog = "GE"
.... ' ETC
end if
Response.Write "<b>" & overskrift & "</b><br><br>"
For x = 1 to Len(Indhold)
If mid(Indhold,x,1)=chr(13) then
Response.Write "<br>"
Else
Response.Write mid(Indhold,x,1)
End If Next
Response.Write "<br><br><br><i>Forfatter : " & rs("Forfatter") & "</i>"
Response.Write "<br><br><center><a href=nyheder.asp><font color='#2e4e2e'>Tilbage til oversigt</font></a></center>"
Else
'Response.Write "<img border=0 src=images/nyhed.jpg><br><br>"
Response.Write "<b>Oversigt over nyheder : </b><br><br>"
SQL="SELECT * FROM fNyheder"
Conn.Execute (SQL)
Set rs = Conn.Execute(SQL)
rs.movefirst
do while not rs.eof If rs("Dato")+60 > Date Then
Response.Write rs("Dato") & " - <a href=nyheder.asp?id=" & rs("ID") & "><font color='#2e4e2e'>" & rs("Overskrift") & "</font></a><br>"
Response.Write "<font size=1>"
Response.Write Left(rs("Indhold"),45) & "</font><br><br>"
....
sådan håber det hjalp lidt ... har ikke testet det selv så du må lige brokke dig hvis det er helt sort og uforståligt eller at du bare ikke kan få det til at virke:D

mvh
Phylock`

Kommentar
Fra : molokyle


Dato : 08-02-04 15:29

Dejligt at blive korrekset af en 'kender' Phylock ..og var dette spørgsmål stillet i ASP, havde det stille og roligt forbigået min opmærksomhed

</MOLOKYLE>

Kommentar
Fra : bbn


Dato : 08-02-04 15:48

Kære Phylock.
Tak, det ser konstruktivt ud...men jeg må nok lige bede om lidt hjælp med at "definere sprogvariablen"...er jo ikke særligt dreven på dette område. Nogen forslag?
Mvh bbn

Accepteret svar
Fra : Phylock

Modtaget 100 point
Dato : 09-02-04 01:01

du kan feks
når man trykker på hvilket sprog man vil have så går den til
../nyheder.asp?language=DK

i starten af siden kan du så kalde denne variabel ved at skrive og gemme den i sprog
sprog = Request.QueryString("language")

mvh
Phylock`



Godkendelse af svar
Fra : bbn


Dato : 09-02-04 14:21

Tak for svaret Phylock. Det var lærerigt.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409071
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste