Dynamic site navigation

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • James Bates

    Dynamic site navigation

    Hope someone can help me out with something - I'm a HTML/CSS developer
    who know's a little PHP, which I use to make smaller sites
    semi-dynamic, I want to expand on what i'm currently doing but need
    some help.

    I currently use PHP to create a single included .php file that contains
    the navigation, that knows via a variable hard-coded in the XHTML page,
    what section that page is from and them marks the navigation <li> with
    a class the highlights it.

    Here's the code I currently use

    XHTML page

    <?php
    //Section identifier - numbered or named'
    $Section="secti on1"
    ?>

    Included navigation.php file

    <li<?php if ($Section=="sec tion1") echo " class=\"selecte d\""; ?>><a
    href="#" title="">Home</a></li>

    So (eventually) I get to my question... Rather than having a variable
    written into the top of each page, could I create a globals.php file
    that's included from everypage that knows what section that page is is
    from it's parent folder.

    So if I hard-coded the folders/variables in this page, then the page
    recognises which folder it's from and applys that variable to the
    navigation.php

    Any help much appreciated

    Jay

  • NC

    #2
    Re: Dynamic site navigation

    James Bates wrote:[color=blue]
    >
    > Hope someone can help me out with something - I'm a HTML/CSS
    > developer who know's a little PHP, which I use to make smaller sites
    > semi-dynamic, I want to expand on what i'm currently doing but need
    > some help.[/color]

    OK, but you may consider a change in the way you do things. Static Web
    sites store content in files, with content embedded into presentation.
    With a dynamic Web site, you have more options; you can (1) separate
    contrent from presentation, and/or (2) choose to store content (whether
    still attached to presentation or not) in files or in a database.
    [color=blue]
    > I currently use PHP to create a single included .php file that contains
    > the navigation,[/color]

    Note that the reverse is also possible. You can have an index.php
    file, which contains navigation, include content drawn from files or a
    database.
    [color=blue]
    > So (eventually) I get to my question... Rather than having a variable
    > written into the top of each page, could I create a globals.php file
    > that's included from everypage that knows what section that page is is
    > from it's parent folder.[/color]

    Yes. If your globals.php is included into another file, the
    superglobal variable $_SERVER['PHP_SELF'] will tell it into what file
    it has been included.

    Try this: create two files, a.php and b.php.

    a.php:

    <?php include 'b.php'; ?>

    b.php:

    <?php
    echo '<p>PHP_SELF=' , $_SERVER['PHP_SELF'],
    '</p><p>__FILE__=' , __FILE__, '</p>';
    ?>

    Then point your browser to a.php; the output will be:

    PHP_SELF=/A/a.php
    __FILE__=/A/b.php

    In other words, b.php "knows" that its name is b.php and that it's been
    included into a.php.

    Cheers,
    NC

    Comment

    Working...