Avatar billede felixcat Nybegynder
08. maj 2006 - 13:45 Der er 22 kommentarer og
1 løsning

Opdatering af menu

Hej
Jeg har en statisk side som jeg har forsøgt at gøre dynamisk.

Min side består af:

Venstre kolonne: Menu overskrifter
ved klik i denne kommer der en en undermenu i højre side

Højre kolonne: Her åbnes underpunkter til den menu man har valgt i venstre kolonne.
Ved klik i denne menu kan man se selve artiklen som kommer i midter kolonne

Midter kolonne. Her ses artiklen som man har valgt.

Det får fint med at se undermenu i højre side/få artiklen vist i midterkolonne, også dynamisk men klikker jeg på en undermenu i højre side, og får vist artiklen så forsvinder menuen i højre side? Hvordan griber man sådan noget an.

på forhånd tak
Felixcat
Avatar billede felixcat Nybegynder
08. maj 2006 - 13:52 #1
Forresten så bruger jeg MS Access og VBscript
Avatar billede ldanielsen Nybegynder
08. maj 2006 - 13:54 #2
Hvordan fungerer det nu?

Er menuen styret af den database eller hvad?

Er det én side, eller er der en frame for hver kolonne?

Når du klikker på et menupunkt, genindlæses siden så, eller vises/skjules menuerne via DHTML?

- og må vi se siden eller noget kode?
Avatar billede felixcat Nybegynder
08. maj 2006 - 14:46 #3
Menuen er styret af database og det er en side hvor jeg bruger includes. for eks. højremenu men også til en defaultside som bliver indlæst først - en slags forside til undermenupunkter
Siden bliver ikke genindlæst men blot skiftet ud (Nidter kolonne)
Er det nødvendig genindlæse siden - kan man ikke bruge en query eller havd det nu hedder

Jeg arbejder lokalt

mvh
Felixcat
Avatar billede ldanielsen Nybegynder
08. maj 2006 - 15:00 #4
Med genindlæst mener jeg at man henter hele siden påny fra serveren, og hvis der ikke er frames, så må det være det du mener at du gør.

Jeg er nødt til at se noget kode, ellers bliver det for meget gætteri
Avatar billede felixcat Nybegynder
08. maj 2006 - 15:54 #5
her er koden:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/connCMS.asp" -->
<%
showdoc = request.QueryString("showdoc")

%>

<%
Dim rsShowfrontPage
Dim rsShowfrontPage_numRows

Set rsShowfrontPage = Server.CreateObject("ADODB.Recordset")
rsShowfrontPage.ActiveConnection = MM_connCMS_STRING
rsShowfrontPage.Source = "SELECT tblPAGES.id_art, tblPAGES.idtop_art, tblPAGES.title_art, tblPAGES.content_art, tblPAGES.date_created_art, tblPAGES.status_art, tblPAGES.ShowFrontpage  FROM tblPAGES  WHERE tblPAGES.idtop_art=" + Replace(rsShowfrontPage__KTColParam1, "'", "''") + "  AND tblPAGES.status_art=3  AND tblPAGES.ShowFrontpage=1    "
rsShowfrontPage.CursorType = 0
rsShowfrontPage.CursorLocation = 2
rsShowfrontPage.LockType = 1
rsShowfrontPage.Open()

rsShowfrontPage_numRows = 0
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" >
<head>
<title><%=mxiObj.getTitle()%></title>
<meta name="description" content="<%=getDescription%>">
<meta name="keywords" content="<%=getKeywords%>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="blob.css" type="text/css" />
<base href="<%=getBaseURL%>" />
</head>
<body>

<div id="container" >
    <div id="banner" >
        <img src="images/blog_css_logo.gif" alt="" border="0" />  </div>
<div id="navbar">
<ul><li>
  <%
    Response.write ("menu.asp")' venstre menu
%>
</li>
</ul>
</div>
       
    <div id="outer" >

        <div id="inner">
            <div id="left" ><h2>Menu venstre</h2><!--  venstre menu start-->
<A class=menulink href="index.asp">index</A><BR>
<A class=menulink href="links.asp">Links</A><BR>
<A class=menulink href="search.asp">Search</A><BR><BR>



Links<br />
  </div>
<% if showdoc <> 1 Then
' vises default hvis der ikke er klikket på noget i højre menu

%>
<div id="right" ><%
    Response.write ("menu.asp")' venstre menu
%>
  </div>
 
 

<div id="content">

<% If rsShowfrontPage.EOF And rsShowfrontPage.BOF Then %>
  Forside

<%else%>
<%=(rsShowfrontPage.Fields.Item("title_art").Value)%><br>
<%=(rsShowfrontPage.Fields.Item("content_art").Value)%>
<% End If ' end rsShowfrontPage.EOF And rsShowfrontPage.BOF %>


</div>
<%end if %>






<% if showdoc = 1 Then
'hvis der er klikket på punkt i højremenu

%>
<div id="right" >showdoc=1
    <!--#include file="article_list.asp" -->

  </div>
 
 

<div id="content">

showdoc=1
<!--#include file="article_detail.asp" -->

</div>
<%end if %>


<!-- end content -->


      </div><!-- end inner -->
    </div><!-- end outer -->
    <div id="footer"><h1>footer</h1></div>
</div><!-- end container -->
</body>
</html>
<%
rsShowfrontPage.Close()
Set rsShowfrontPage = Nothing
%>
Avatar billede felixcat Nybegynder
08. maj 2006 - 15:57 #6
og her er koden for højre menu som bliver inkluderet

rsArticleList.Source = "SELECT tblPAGES.id_art, tblPAGES.ShowFrontpage, tblPAGES.idtop_art, tblPAGES.title_art, tblPAGES.content_art, tblPAGES.date_created_art, tblPAGES.status_art  FROM tblPAGES  WHERE tblPAGES.idtop_art=" + Replace(rsArticleList__KTColParam1, "'", "''") + "  AND tblPAGES.status_art=3 AND tblPAGES.ShowFrontpage <> 1  ORDER BY tblPAGES.date_created_art DESC  "
rsArticleList.CursorType = 0
rsArticleList.CursorLocation = 2
rsArticleList.LockType = 1
rsArticleList.Open()

rsArticleList_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsArticleList_numRows = rsArticleList_numRows + Repeat1__numRows
%>

<% If Not rsArticleList.EOF Or Not rsArticleList.BOF Then %>
  <%
While ((Repeat1__numRows <> 0) AND (NOT rsArticleList.EOF))
%>
    <p><%=(rsArticleList.Fields.Item("title_art").Value)%></p>
    <p><%=left(KT_strip_tags(rsArticleList.Fields.Item("content_art").Value),20) %>....</p>
    <p><a href="index.asp?showdoc=1&mod=article_details&amp;id_art=<%=(rsArticleList.Fields.Item("id_art").Value)%>">L&aelig;s mere</a> </p>
    <hr size="1" />
    <%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  rsArticleList.MoveNext()
Wend
%>
  <% End If ' end Not rsArticleList.EOF Or NOT rsArticleList.BOF %>
<% If rsArticleList.EOF And rsArticleList.BOF Then %>
  Der er ingen artikler at vise
  <% End If ' end rsArticleList.EOF And rsArticleList.BOF %>

<%
rsArticleList.Close()
Set rsArticleList = Nothing
%>
Avatar billede felixcat Nybegynder
09. maj 2006 - 21:53 #7
Er der ikke nogen der kan hjælpe ?
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 09:06 #8
Det er rimelig uoverskueligt, og jeg har faktisk ikke forstået problemet. Hvad er det der styrer om højremenuen er foldet ud eller ikke?

Koden er velformuleret og navngivningen i databasen og af variablerne tyder på at du har check på programmering, men alligevel er der nogle ting der er mærkeligt formuleret.

Har du selv lavet det?
Avatar billede felixcat Nybegynder
10. maj 2006 - 09:41 #9
Nej jeg har ikke lavet koden men overtaget den fra en anden. Jeg vil have lavet det i html. Men nu skal nu engang være styret af en database. Det der fejler (ikke bliver vist) er højremenu efter at jeg har klikket på en overskrift <a href="index.asp?showdoc=1&mod=article_details&amp;id_art=<%=(rsArticleList.Fields.Item("id_art").Value)%>">L&aelig;s mere</a> </p>

Jeg skal have den til at vise højremenuen igen??
Avatar billede felixcat Nybegynder
10. maj 2006 - 09:42 #10
alt det med showdoc =1 er mit forsøg på at få den til at vise menuen igen
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 10:13 #11
Jeg kan ikke hjælpe dig.

Koden er som sagt temmelig kompliceret, og da du ikke selv har overblik over den kan du ikke hjælpe mig med at forstå det. I øvrigt mangler der noget kode; jeg har ikke set alt det der er involveret i processen.

Jeg vil foreslå at du får fat i én der kan hjælpe dig med det på stedet, og som måske kan lære dig lidt. Ellers skulle du nok koncentrere dig om at lave din egen kode, i stedet for at kæmpe med andres.
Avatar billede felixcat Nybegynder
10. maj 2006 - 10:26 #12
Hmm. Det burde da være til at løse. Jeg syntes selv at jeg er kommet langt.

Men problemet er i sin enkelthed: Hvordan får man koden til at opdatere højremenu efter man klikket på et link: Skal siden genindlæses - kan man bruge session variabler - er det noget med querystrings?? Og hvordan samler man det hele i f-eks. index.asp

Ja du har ret at der mangler noget kode - men det er til venstremenu og css filen men det har ingen betydning her.

Men tak for din indsats
Avatar billede felixcat Nybegynder
10. maj 2006 - 10:26 #13
er der andre der kan hjælpe?
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 10:33 #14
Du mener ikke at der mangler noget af betydning?

Kan du så fortælle mig hvor i koden rsArticleList__KTColParam1 bliver sat?

Den bruges i højremenuen, men jeg kan ikke se hvor den kommer fra (eller forstå hvad den gør)
Avatar billede felixcat Nybegynder
10. maj 2006 - 10:50 #15
rsArticleList__KTColParam1 bliver brugt til at korte teksten ned til kun at fylde 40 tegn - ikke andet - der skal jo være plads til den.

Hvis du ikke kan overskue koden - har du så ikke et par tip eller hints på hvordan man gør det
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 11:00 #16
OK, jeg prøver:

Der er en venstremenu. Når man klikker på den åbnes en højremenu, med indhold der afhænger af hvad man har klikket på i venstre.

Fortæl mig lige hvordan et link i venstremenuen ser ud. Der må jo være noget i den der får højremenuen til at komme frem.
Avatar billede felixcat Nybegynder
10. maj 2006 - 11:05 #17
Her er koden for venstre menu:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/connCMS.asp" -->
<%
Dim rsTopicMenu
Dim rsTopicMenu_numRows

Set rsTopicMenu = Server.CreateObject("ADODB.Recordset")
rsTopicMenu.ActiveConnection = MM_connCMS_STRING
rsTopicMenu.Source = "SELECT * FROM tblSECTION ORDER BY sectionNAME ASC"
rsTopicMenu.CursorType = 0
rsTopicMenu.CursorLocation = 2
rsTopicMenu.LockType = 1
rsTopicMenu.Open()

rsTopicMenu_numRows = 0
%>
<%
Dim Repeat1__numRows
Dim Repeat1__index

Repeat1__numRows = -1
Repeat1__index = 0
rsTopicMenu_numRows = rsTopicMenu_numRows + Repeat1__numRows
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<%
While ((Repeat1__numRows <> 0) AND (NOT rsTopicMenu.EOF))
%>
  <a class="menulink" href="index.asp?mod=article_list&amp;id_top=<%=(rsTopicMenu.Fields.Item("id_top").Value)%>"><%=(rsTopicMenu.Fields.Item("sectionNAME").Value)%></a>
  <%
  Repeat1__index=Repeat1__index+1
  Repeat1__numRows=Repeat1__numRows-1
  rsTopicMenu.MoveNext()
Wend
%>
</body>
</html>
<%
rsTopicMenu.Close()
Set rsTopicMenu = Nothing
%>
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 11:16 #18
Der bliver altså sendt to ting med: mod, der er "article_list" og id_top, der indeholder et tal som viser hvilken højremenu der skal vises.

Problemet er bare at der ikke er noget i højremenuen der tilsyneladende tager sig af hvilket id_top der bliver sendt med.

Hvis du klikker på forskellige knapper i venstremenuen, kommer der så forskellige højremenuer frem?
Avatar billede felixcat Nybegynder
10. maj 2006 - 11:20 #19
ja de artikler som er tilknyttet linket i venstremenu
Avatar billede felixcat Nybegynder
10. maj 2006 - 11:25 #20
jeg kan sende nogle screenshots men jeg tror ikke at eksperten tillader det?
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 11:53 #21
Prøv at rette dette i højremenuen:

<p><a href="index.asp?showdoc=1&mod=article_details&amp;id_art=<%=(rsArticleList.Fields.Item("id_art").Value)%>">L&aelig;s mere</a> </p>


til dette:

<p><a href="index.asp?showdoc=1&mod=article_details&amp;id_art=<%=(rsArticleList.Fields.Item("id_art").Value)%>&id_top=<%=Request.Querystring("id_top")%>">L&aelig;s mere</a> </p>
Avatar billede felixcat Nybegynder
10. maj 2006 - 12:22 #22
Perfekt - det virker - du er super

Tusind tak for din hjælp og smider du et svar
Avatar billede ldanielsen Nybegynder
10. maj 2006 - 12:55 #23
Svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester