473,756 Members | 3,111 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Need help to code collapsing menu

Hi,

I am trying to code a menu for a webpage, the menu is broken up to groups
i.e:

Home
Group1
Â*menuitem1
Â*menuitem2
Â*menuitem3
Group2
Â*Â*menuitem1
Â*Â*menuitem2
Â*menuitem3
And so on.

What I want to achieve is that the groups are shown in a collapsed state
depending on the page which is currently being displayed i.e so it starts
out like this

Home
Group1
Group2

If you click on Group1 it loads the first menuitem page and highlights it
and redraws the page expanding that group i.e. (note * denotes highligthed)
Home
Group1
Â*Â*menuitem1
Â*Â*Â*menuitem2
Â*Â*Â*menuitem3 Â*
Group2

And the same would apply if you click on Group2 i.e:
Home
Group1
Group2
Â*Â*menuitem1
Â*Â*Â*Â*menuite m2
Â*Â*Â*Â*menuite m3Â*

What is the best way to go about this? I have coded it 'the long way' where
there is lots of duplication of code.

I hope this all makes sense and that I have explained it clearly.

I am new to php so would really appreciate your help as I am totally at a
loss on how to best do this.

Many thanks

Rigga
Jul 17 '05 #1
11 2285
SOR
<comp.lang.ph p , rigga , ri***@hasnomail .com>
<42************ ***********@ptn-nntp-reader01.plus.n et>
<Fri, 08 Jul 2005 19:12:36 +0100>
What is the best way to go about this? I have coded it 'the long way' where
there is lots of duplication of code.

I hope this all makes sense and that I have explained it clearly.

I am new to php so would really appreciate your help as I am totally at a
loss on how to best do this.


Using includes should make it quite easy - even for a newbie like me .

blah.php?pass=1 on your main group link .

Assuming you have the nav menu as a include you could do a 'if' and if
the value is 1 then display the extra sub menu links .

Although , You would need the ?pass=1 on all the sub links as well or
the sub menu would disappear when you clicked on sub link .

As a fellow php newbie i've found getting stuff working first and then
trying to tweak and fine tune it later can be useful .
Jul 17 '05 #2
SOR wrote:
<comp.lang.ph p , rigga , ri***@hasnomail .com>
<42************ ***********@ptn-nntp-reader01.plus.n et>
<Fri, 08 Jul 2005 19:12:36 +0100>
What is the best way to go about this? I have coded it 'the long way'
where there is lots of duplication of code.

I hope this all makes sense and that I have explained it clearly.

I am new to php so would really appreciate your help as I am totally at a
loss on how to best do this.


Using includes should make it quite easy - even for a newbie like me .

blah.php?pass=1 on your main group link .

Assuming you have the nav menu as a include you could do a 'if' and if
the value is 1 then display the extra sub menu links .

Although , You would need the ?pass=1 on all the sub links as well or
the sub menu would disappear when you clicked on sub link .

As a fellow php newbie i've found getting stuff working first and then
trying to tweak and fine tune it later can be useful .

Could you explain further?, how would I get it to highlite the active link?

Jul 17 '05 #3
SOR
<comp.lang.ph p , rigga , ri***@hasnomail .com>
<42************ **********@ptn-nntp-reader04.plus.n et>
<Sat, 09 Jul 2005 09:11:39 +0100>
Could you explain further?, how would I get it to highlite the active link?


www.snipe.net this guys nav menu uses the sort of thing you want to do -
it might be worth a email to ask him for the source code as his method
is probably better than mine .
Jul 17 '05 #4
SOR
<comp.lang.ph p , SOR , we*******@spare sorrepair.co.uk .INVALID>
<MP************ ************@no-cancel.newsread er.com>
<Sat, 9 Jul 2005 13:30:08 +0100>
Could you explain further?, how would I get it to highlite the active link?


www.snipe.net this guys nav menu uses the sort of thing you want to do -
it might be worth a email to ask him for the source code as his method
is probably better than mine .


www.ganjahost.co.uk/rigga

www.ganjahost.co.uk/rigga/rigga.zip

Keep in mind i'm a newbie like yourself and this is probably the worse
way to do it .

Jul 17 '05 #5
I noticed that Message-ID:
<MP************ ************@no-cancel.newsread er.com> from SOR contained
the following:
www.ganjahost.co.uk/rigga


doesn't work in FF.
--
Geoff Berrow (put thecat out to email)
It's only Usenet, no one dies.
My opinions, not the committee's, mine.
Simple RFDs http://www.ckdog.co.uk/rfdmaker/
Jul 17 '05 #6
SOR
<comp.lang.ph p , Geoff Berrow , bl******@ckdog. co.uk>
<is************ *************** *****@4ax.com>
<Sat, 09 Jul 2005 15:30:54 +0100>
www.ganjahost.co.uk/rigga


doesn't work in FF.


Then try it at normal speed :-))
Jul 17 '05 #7
On Sat, 09 Jul 2005 15:32:33 +0100, SOR wrote:
<comp.lang.ph p , Geoff Berrow , bl******@ckdog. co.uk>
<is************ *************** *****@4ax.com>
<Sat, 09 Jul 2005 15:30:54 +0100>
>www.ganjahost.co.uk/rigga


doesn't work in FF.


Then try it at normal speed :-))

Thank you thats exactly what I was trying to achieve, I will look over the
code and see if I understand it. Like Geoff said it doesn't work in
Firefox though, but I will look in to that.

I really appreciate you taking the time to help me with this.

all the best

Jul 17 '05 #8
SOR
<comp.lang.ph p , rigga , ri***@hasnomail .com>
<pa************ *************** *@hasnomail.com >
<Sat, 09 Jul 2005 21:31:34 +0100>
Like Geoff said it doesn't work in
Firefox though, but I will look in to that.


Putting a <br> at the end of the <a> tags would probably sort it .

Fartfox often screws things up :-)
Jul 17 '05 #9
SOR
<comp.lang.ph p , SOR , we*******@spare sorrepair.co.uk .INVALID>
<MP************ ************@no-cancel.newsread er.com>
<Sun, 10 Jul 2005 01:06:53 +0100>
Putting a <br> at the end of the <a> tags would probably sort it .


Either way the following is probably a better way of doing it as it does
away with 2 include files .
inc_nav.php

<?php $rigga = $_GET['pass']; ?>

<a href="index.php " class="butnav"> HOME</a><br>
<a href="group_one .php?pass=1" class="butnav"> GROUP ONE</a><br>
<?php if ($rigga==1) {g_one();} ?>
<a href="group_two .php?pass=2" class="butnav"> GROUP TWO</a><br>
<?php if ($rigga==2) {g_two();} ?>
<a href="index.php " class="butnav"> HOME</a><br>

<?php
function g_one()
{
print "<a href=index.php? pass=1 class=butnav>.. ... GROUP ONE</a><br>";
print "<a href=index.php? pass=1 class=butnav>.. ... GROUP ONE</a><br>";
}
?>

<?php
function g_two()
{
print "<a href=index.php? pass=2 class=butnav>.. ... GROUP TWO</a><br>";
print "<a href=index.php? pass=2 class=butnav>.. ... GROUP TWO</a><br>";
}
?>
Jul 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1622
by: Jeremy Epstein | last post by:
Hi guys, I've got a page that shows a number of packages available for sale. Each package has a little description, and then a (sometimes long) list of features for each package. I thought it would be a good idea to let visitors hide the details for each package, so that they can see just the summaries together. So I borrowed some code (can't remember from where), which was designed for expandable/collapsible menu trees, and used it to...
5
1894
by: Borris | last post by:
<div style="background-color: blue; width: 500px; height: 300px"> <div style="background-color: red; margin-top: 100px; margin-left: 100px; width: 300px; height: 100px"> </div> </div> Where will the red box be positioned? Even experienced web developers often expect it to be in the middle of the blue box, but instead (on standards-compliant browsers) the blue box is lowered to line up its top edge with that of the red box. This is...
2
2423
by: Stanimir Stamenkov | last post by:
I'm trying to clear some sizing issues relative to the initial containing block and the root document element. The sample document I'm trying with: http://stanio.info/viewport_fill.html Basically, for some tests I want to specify the height of an example DIV element inside the BODY using percentages of the viewport height. For this to work the BODY container should fill the viewport height where I'm using:
1
1738
by: yb | last post by:
Hi, I'm looking for clarification of css 2.1 specification in section 8.3.1 "Collapsing Margins" The 6th bullet reads "If the top and bottom margins of a box are adjoining ..." I won't paste the whole point here, its too long. But, from this first line does this mean that the element has empty
6
7387
by: Jack | last post by:
Hello, I would like some advice on how to disable the behavior of treeviews to expand and collapse when double clicked upon, but still allow the user to use the plus and minus on each node. Thanks in advance! Jack
4
3598
by: Andreas Prilop | last post by:
How many spaces should be displayed in A <span style="display:none">x</span> B between "A" and "B"? I notice that Mozilla displays one space and Internet Explorer (5 & 6) displays two spaces. See http://www.unics.uni-hannover.de/nhtcapri/temp/white-space.html for a cumulative effect. Why is this important? Instead of "span", think of the "rp" element
0
1061
by: Jack | last post by:
Hello, I am looking to denormalize XML into a few tables, does anyone know of open source software that I can use to map the collapsing and then generate the SQL ? I know xmlspy does this but looking to see if there are alternatives. My goal is to load the large XML data files into a database, but in some cases, the raw XML produces around 800 tables which is unmanageable. Thanks,
5
1962
by: SlowArrow | last post by:
Here collapsing seems to work differently in vb.net 2005 from that I use to see in vb.net 2003: Using the collapsing in vb.net 2003 shows the whole interface of the methods, subroutines, functions, etc, while in vb.net 2005 those parts after the name (arguments, etc) are missing. Is there an option to show them as well, or this is the only working method of the collapsing? What amazed me that the collapsing in the vC.net 2005 shows the...
9
1842
by: Academia | last post by:
ContextMenu has a Popup event but MainMenu does not. I need Popup with MainMenu. Do you know anyway to simulate it? Thanks in advance
0
9325
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
9152
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
9930
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9716
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
7116
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
6410
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4996
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5180
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
2542
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.