Βοήθεια με navigation menu

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Βοήθεια με navigation menu

Δημοσίευση από argate7 » 06 Φεβ 2010 05:47

Καλησπέρα παίδες,

Έχω μία απορία..

Είδα σε αυτό το site http://liveresto.com/ το μενού που έχει. Έχει κάποιος ένα τέτοιο παράδειγμα από internet για να δω πως δουλεύει??

Ας πούμε ότι έχουμε το συγκεκριμένο site και θέλω όταν πατάω features να μου πρασινίζει το features στην νέα σελίδα που έχω ανοίξει. Αυτό θέλω να μάθω πως γίνεται. Ελπίζω να έγινα κατανοητός.

Ευχαριστώ πολύ!!

Άβαταρ μέλους
dimsis
Reporter
Δημοσιεύσεις: 7994
Εγγραφή: 25 Ιούλ 2001 03:00

Βοήθεια με navigation menu

Δημοσίευση από dimsis » 06 Φεβ 2010 09:16

Στην ουσία βάζεις ένα class name στο επιλεγμένο μενού.
π.χ. αν έχεις ένα list menu τύπου

Κώδικας: Επιλογή όλων

<style>
.selected &#123; background-color&#58; green &#125;
</style>

<ul>
<li>menu option 1</li>
<li class="selected">menu option 2</li>
<li>menu option 3</li>
</ul>
βλέπεις πως μόνο το option 2 έχει το class selected. Αυτό το class selected στο CSS μας θα μπορούσε να έχει οτιδήποτε, από μια εικόνα φόντου όπως το παράδειγμα του site που μας έδωσες έως μια εναλλαγή εικόνας σε ένα sprite menu.

Στην php τώρα πως το κάνεις. Με πολλούς τρόπους. Ένας απλός είναι όταν θα είσαι στην σελίδα option1.php ας πούμε έχει κώδικα όπου σετάρεις μια μεταβλητή στην αρχή της σελίδας με το class name ή αν δεν χρησιμοποιείς includes απλώς βάζεις το class="selected" στην επιλογή που θέλεις να επιλεχθεί.

Κώδικας: Επιλογή όλων

<ul>
<li class="selected">menu option 1</li>
<li>menu option 2</li>
<li>menu option 3</li>
</ul>
όταν πας στη σελίδα option2.php το μενού θα είναι έτσι:

Κώδικας: Επιλογή όλων

<ul>
<li>menu option 1</li>
<li class="selected">menu option 2</li>
<li>menu option 3</li>
</ul>
κ.ο.κ.
Εννοείται πως το ποια επιλογή του μενού θα είναι επιλεγμένη μπορείς να το σετάρεις σε μια μεταβλητή και έπειτα να ελέγχεις τη μεταβλητή σου π.χ. αν είναι 1 να βάζει το class="selected" ή όπως αλλιώς το βαφτίσεις στην 1 κ.ο.κ.

Άλλος τρόπος είναι να σώζεις την επιλογή σε cookies είτε μέσα από την php είτε από javascript. Η ακόμα και σε session μεταβλητή της php ή και πιο προχωρημένα / αυτοματοποιημένα να σετάρεις τη μεταβλητή του επιλεγμένου βάση του ονόματος αρχείου που φορτώνετε. π.χ. ελέγχεις το $_SERVER['REQUEST_URI'] και αν είναι ας πούμε index.php ξέρεις ότι είσαι στην κεντρική σου σελίδα, αν είναι option2.php επιλέγεις το 2ο κλπ.

Αν το μενού σου είναι σε κάποιο δικό του php file, ας το πούμε menu.php και το κάνεις include στις άλλες σου σελίδες τότε μπορείς να το πας κάπως έτσι :

option2.php
<?php $menusel="2" ?>
your html...
<?php include("menu.php"); ?>

menu.php

Κώδικας: Επιλογή όλων

<ul>
 <li<?php if &#40;$menusel=="1"&#41; echo " class=\"selected\""; ?>>menu option 1</li>
 <li<?php if &#40;$menusel=="2"&#41; echo " class=\"selected\""; ?>>menu option 2</li>
 <li<?php if &#40;$menusel=="3"&#41; echo " class=\"selected\""; ?>>menu option 3</li>
</ul>
Στην ουσία δηλαδή ΠΡΙΝ φορτώσεις και εμφανίσεις το μενού σου, του λες σε κάθε σελίδα ποια επιλογή του μενού είναι η επιλεγμένη.

Δεν το έχω δοκιμάσει το παραπάνω, το γράφω από pc που δεν έχει php.

argate7
Δημοσιεύσεις: 233
Εγγραφή: 30 Σεπ 2009 02:38

Βοήθεια με navigation menu

Δημοσίευση από argate7 » 06 Φεβ 2010 12:52

Ο πρώτος τρόπος που μου έγραψες είναι και ο πιο λογικός, αλλά αν το σκεφτόμουν στις 6 το πρωί που το κοιτούσα θα γινόμουν και URI GELLER. Όπως το βλέπω τώρα είναι πολύ απλό, μόνο που χτες ούτε που μου είχε περάσει..

Σε ευχαριστώ για ακόμα μία φορά. Νά'σαι καλά!!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης