php.de

Zurück   php.de > Lösungen durch Skripte > Scriptbörse

Scriptbörse PHP Lösungen für nen schmalen Taler

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 03.04.2009, 23:28  
Erfahrener Benutzer
 
Benutzerbild von Felk
 
Registriert seit: 23.02.2009
Beiträge: 235
PHP-Kenntnisse:
Fortgeschritten
Felk befindet sich auf einem aufstrebenden Ast
Felk eine Nachricht über MSN schicken Felk eine Nachricht über Skype™ schicken
Standard Funktion zum generieren von Navigation

Hi!
Ich hab mir grade eine PHP-Funktion gebaut, die mir eine Navigation aus einer $Variable in HTML ausgibt...
also man kann im PHP Code an beliebiger Stelle ein Navigationselement hinzufügen und dann am Ende einfach die Funktion mit der Navigations-Variable ausführen!
Interessant ist, wie man ein Navigationselement in die Navigationsvariable hinzufügt:
PHP-Code:
$title 'Allgemeines';
$links = array('Startseite' => 'index.php',
               
'Link 2' => '#',
               
'Link 3' => '#',
               
'Link 4' => '#',
               );
$menu[$title] = $links
Man sieht, dass man zuerst eine Headline für diesen Teil der Navigation speichert. Dann erstellt man für die verschiedenen Links in diesem navigationselement ein Assoziatives Array der Form "Text => Url".
Danach muss man diese Daten nurnoch an die Navigationsvariable (in diesem Fall $menu) übergeben! Dies geschieht in der Form "Titel => Links", wobei man hier gut sieht, dass $menu dann ein zweidimensionales, assoziatives Array ist.
Auf diese Weise kann man $menu beliebig viele Navigationselemente hinzufügen! Nun die Funktion, die das ganze dann schön darstellt:
PHP-Code:
<?php
function menu($menu) {
    if (empty(
$menu)) return false;
    
?><table style="width:222px;border:0;background-color:#202020;" cellspacing="0" cellpadding="0"><?php
    
foreach ($menu as $title => $links) {
        if (empty(
$title)) $title 'MISSING_HEADLINE';
        if (empty(
$links) || !is_array($links)) $links = array();
        
?>
        <tr>
        <td height="25" width="222" valign="middle"></td>
        </tr>
        <tr>
        <td height="22" width="222" valign="middle" style="color:#333333; background-color:#FFFFFF;">&nbsp; <b><?php echo $title?>:</b></td>
        </tr>
        <?php
        
foreach ($links as $text => $url) {
            if (empty(
$text)) $text 'MISSING_SUBLINE';
            if (empty(
$url)) $url 'javascript:alert(\'MISSING_URL\')';
            
?>
            <tr>
            <td height="20" width="222" valign="middle" onmouseover="javascript:taust(this,'#173645')" onmouseout="javascript:taust(this,'#202020')">
            &nbsp;&nbsp;<a href="<?php echo $url?>">&raquo; <?php echo $text?></a></td>
            </tr>
            <tr>
            <td width="222" height=2 bgcolor="#ffffff"></td>
            </tr>
            <?php
        
}
    }
    
?></table><?php
}
?>
Wo die Navigation sein soll, dort ruft man nurnoch menu($menu); auf.
Die Darstellung der Links kann man in der Funktion anpassen. Bei mir wirkt folgendes CSS-Schnipsel mit ein:
Code:
body, td, tr{		
font-family: verdana;		
color:#FFFFFF;		
font-size:11px;		
font-weight:normal;
}
Wenn man "links" und "rechts" vom Funktionsaufruf noch 3 vertikale, weiße Striche (am besten 3 Pixel breit) platziert, dann kann man die Funktion so lassen, und es sieht trotzdem gut aus.
Hier mal ein Screenshot, wie es auf meiner HP aussieht:

Ich habe folgenden Code benutzt:
PHP-Code:
$title 'Allgemeines';
$links = array('&Uuml;ber Studio-Felk' => 'index.php',
               
'Link 2' => '#',
               
'Link 3' => '#',
               
'Link 4' => '#',
               );
$menu[$title] = $links;

$title 'Men&uuml; 2';
$links = array('Link 1' => '#',
               
'Link 2' => '#',
               
'Link 3' => '#',
               
'Link 4' => '#',
               ); 
$menu[$title] = $links
Und aufgerufen wird das ganze etwas weiter unten...
Code:
<table style="background-color:#464646; width:770px; height:350px; border:0;" cellspacing="0" cellpadding="0">
    <tr>
    <td width="222" bgcolor="#202020" align="left" valign="top">
    	
        <?php
		menu($menu);
		?>

    </td>
    <td width="3" bgcolor="#FFFFFF" align="right" valign="top"></td>
..........
EDIT:
Oh, hab ich dich glatt was vergessen! In der Funktion kommt ja folgendes vor...
Code:
<td height="20" width="222" valign="middle" onmouseover="javascript:taust(this,'#173645')" onmouseout="javascript:taust(this,'#202020')">
Dazu muss man folgende JavaScript-Funktion vorher einbinden:
Code:
function taust(asi1, col1)
{ asi1.bgColor = col1; }
__________________
www.Speedcube.de, werde Speedcubing Meister! (Rubik's Cube lösen)

Geändert von Felk (03.04.2009 um 23:42 Uhr).
Felk ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 04.04.2009, 02:03  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.992
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Richtig schön wäre eine verschachtelte ul-Liste statt Tabellen zu benutzen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Bilder aus Datenbank / <img>-Tags automatisch generieren Teela PHP Tipps 2009 2 14.03.2009 17:40
funktion für html escape etc. TeazY PHP Tipps 2009 19 12.02.2009 13:19
Wert einer Funktion an andere Funktion übergeben Secondary PHP Tipps 2008 14 27.08.2008 10:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Navigation generieren PHP Tipps 2006 8 29.06.2006 16:14
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
Navigation aus datenbank generieren Datenbanken 1 06.07.2004 21:12

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
navigation generieren, php automatische navigation, navigation automatisch generieren php, php navigation generieren, php css navigation automatisch erstellen, navigations automatisch generieren, ul generieren php navigation, php navigation function, navigation als funktion php, php navigationselemente, navigationsvariable leer, php navigation automatisch txt, php navi text, php menüstruktur mit funktion, php navigation generiert sich automatisch, css navi funktionsaufrufe php, php navigation und text danach link, css navigation automatisch erstellen, navi php generieren, javascript menu automatisch gernerieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 23:29 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum