- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack (2) Themen-Optionen Thema bewerten
  2 links from elsewhere to this Post. Click to view. #1 (permalink)  
Alt 14-07-2010, 12:29
schischi
 Registrierter Benutzer
Links : Onlinestatus : schischi ist offline
Registriert seit: Oct 2009
Beiträge: 66
schischi befindet sich auf einem aufstrebenden Ast
Standard Menü - links nicht aktiv

Hallo und Guten Tag,

hab mir das Menü von frische Zitronen genommen. Die Links werden aktiv, wenn man in der csv. Datei z.B aktuell.php schreibt, wenn man jedoch aktuell.php?lang=de schreibt, dann passiert das Aktiv werden nicht.
PHP-Code:
<?php
if(defined('E_STRICT') && function_exists('date_default_timezone_set')) {
  
date_default_timezone_set("Europe/Berlin");
}
else 
error_reporting(E_ALL);



$s basename($_SERVER['SCRIPT_NAME']);
//basename extrahiert den Namen einer Datei aus einem Pfad
echo OMList($s);


function 
OMList($site) {
  
$site str_replace('''',$site);



    switch(
$_GET['lang']){
    case 
"en":
$menu 'en.csv';
  break;
    case 
"it":
$menu 'it.csv';
  break;
    case 
"ru":
$menu 'ru.csv';
  break;
case 
"th":
  
$menu 'th.csv';
  break;
  }
    
$cr chr(13).chr(10);
  
$nav '<ul>'.$cr;
  
$li 0$dat file($menu);


  for(
$i=0$i<count($dat); $i++) {
    
$x explode('|',trim($dat[$i]));
    if(
$x[0]) {
      
$link $x[0]; $s $x[1];
      
$level 0;
      while (
strpos($link,'-') === 0) {
        
$level++; $link substr($link,1);
                
      }        
      if(
$level $li+2) {
        if(
$level <= $li && $i>0) {
          
$nav .= '</li>'.$cr;
        }
        if(
$level $li) {
          
$li++; $nav .= '<ul>'.$cr;
        }
        while (
$level $li) {
          
$li--; $nav .= str_repeat('  '$li+1).'</ul></li>'.$cr;
        }
        
$nav .= str_repeat('  '$li+1);
        if(
$s == $site) {
          
$ul $li;
          
$nav .= '<li id="active"><span>'.$link.'</span>';            
        }
        else {
          
$nav .= '<li><a href="';
          
$nav .= ''$s .'" title="'.$link.'">'.$link.'</a>';
        }
      }
    }
  }
  
$nav .= '</li>'.$cr;
  while (
$li) {
    
$li--; $nav .= str_repeat('  '$li+1).'</ul></li>'.$cr;
  }
  
$nav .= '</ul>'.$cr;
  return 
$nav;
}
?>
Habt Ihr mir da eventuell Hilfe.
vielen Dank im voraus.
schischi

Geändert von schischi (14-07-2010 um 12:35 Uhr) Grund: fehler
Mit Zitat antworten
  #2 (permalink)  
Alt 14-07-2010, 13:06
litterauspirna
 Registrierter Benutzer
Links : Onlinestatus : litterauspirna ist offline
Registriert seit: Nov 2007
Beiträge: 353
litterauspirna ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von schischi Beitrag anzeigen
Hallo und Guten Tag,

hab mir das Menü von frische Zitronen genommen. Die Links werden aktiv, wenn man in der csv. Datei z.B aktuell.php schreibt, wenn man jedoch aktuell.php?lang=de schreibt, dann passiert das Aktiv werden nicht.
Hallo,

ich kenne das Script nicht, aber du hast dir eigentlich in deiner Frage schon selbst die Antwort gegeben warum das was schief laufen kann.

Weil aktuell.php != aktuell.php?lang=de

Das heist wenn da auf aktuell.php verglichen wird dann kann aktuell.php?lang=de nichts passieren, bzw. muss die Wahrheitsbedingung ja ins leere laufen. Das heist da muss du einen Codeteilschaffen der prüft ob in einem Vergleichstring aktuell.php enthalten ist. Dazu ist preg_match ganz gut geeignet.

Gruß litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
Mit Zitat antworten
  #3 (permalink)  
Alt 14-07-2010, 13:36
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Das heist da muss du einen Codeteilschaffen der prüft ob in einem Vergleichstring aktuell.php enthalten ist. Dazu ist preg_match ganz gut geeignet.
Nein, das ist die Spatzenkanone.
Wirklich gut geeignet sind für sowas Stringfunktionen wie strpos.


Allerdings weiß ich nicht, ob dieser Vergleich hier ausreicht.
Wenn aktuell.php?lang=de und aktuell.php?lang=en eigene Links darstellen, die getrennt „aktiv“ dargestellt werden sollen, dann muss vermutlich der Querystring in den Vergleich einbezogen werden.

Um dazu genaueres zu sagen, ist mir die Problembeschreibung aber zu unspezifisch ...


Zitat:
Zitat von schischi
hab mir das Menü von frische Zitronen genommen.
Klingt nach dem Namen einer politisch viel zu korrekten Punk-Band ...

Bitte geh nicht davon aus, dass wir wissen, wo du dir welche Scripte hergeholt hast. Gib' also in solchen Fällen immer mindestens einen Link auf die Scriptquelle an.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #4 (permalink)  
Alt 14-07-2010, 14:28
schischi
 Registrierter Benutzer
Links : Onlinestatus : schischi ist offline
Registriert seit: Oct 2009
Beiträge: 66
schischi befindet sich auf einem aufstrebenden Ast
Standard

@litterauspirna,
genau, vergleichen muss man dies!
bei einem deutschen Menü ist das kein Problem und dies wird im Script so getan:
PHP-Code:
if($s == $site
da ist es ja kein Problem, da seite aktuell.php == aktuell.php im menü ist.

@wahsaga
strpos, danke für den Tip!
es sollte eigentlich nur verglichen werden ob aktuell.php?lang=de == aktuell.php?lang=de ist!

entschuldigung für die Annahme, frische zitronen frische-zitronen.de | Webdesign | Dynamisches PHP-Men und kleine Webseitenvorlage
da geht dies momtan nicht, daher diesen link Dynamisch verschachteltes PHP Menü - jukemedia

Punkrockband !!
Mit Zitat antworten
  #5 (permalink)  
Alt 14-07-2010, 15:12
schischi
 Registrierter Benutzer
Links : Onlinestatus : schischi ist offline
Registriert seit: Oct 2009
Beiträge: 66
schischi befindet sich auf einem aufstrebenden Ast
Standard

weiss nicht ob dies die feine englische Art ist, dies zu lösen, lasse mich auch gerne zu etwas besserem belehren.

hab mal so gelöst:
PHP-Code:
switch($_GET['lang']){
    case 
"en":
$seite $site.'?lang=en';
  break;
    case 
"it":
$seite $site.'?lang=it';
  break;
    case 
"ru":
$seite $site.'?lang=ru';
  break;
case 
"th":
$seite $site.'?lang=th';
  break;
  }  
   
    if(
$s == $seite) { 
Mit Zitat antworten
  #6 (permalink)  
Alt 14-07-2010, 16:17
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ohne default? Und wieso speicherst du die Sprachauswahl nicht einfach in einer Session? Dass macht die Konstruktion von Links an anderen Stellen deutlich einfacher.
Mit Zitat antworten
  #7 (permalink)  
Alt 15-07-2010, 21:11
schischi
 Registrierter Benutzer
Links : Onlinestatus : schischi ist offline
Registriert seit: Oct 2009
Beiträge: 66
schischi befindet sich auf einem aufstrebenden Ast
Standard

thanks @onemorenerd ,
habs nun mit default geschrieben! Mit Session komm ich noch nicht klar, werd mich da noch schlau schauen.
Mit Zitat antworten
Antwort

Lesezeichen


LinkBacks (?)
LinkBack to this Thread: http://www.php-resource.de/forum/php-developer-forum/99882-menue-links-nicht-aktiv.html
Erstellt von For Type Datum
Css Menue Dynamisch : Deluxe Menue This thread Refback 15-01-2012 21:43
Css Ajax Menue : Deluxe Menue This thread Refback 26-10-2011 06:29

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[CSS] #Menü links neben #content, aber hinter #content im HTML Luke HTML, JavaScript, AJAX und CSS 2 08-04-2009 19:06
Hover-Menü bei Links christian000 HTML, JavaScript, AJAX und CSS 2 03-08-2007 22:29
Menü und Untermenüpunkt aktiv Mr.Floppy PHP Developer Forum 6 23-02-2004 16:28
[JavaScript] Teil eines Links mit einem Select Menü ändern GWC HTML, JavaScript, AJAX und CSS 2 28-09-2003 14:48
hilfe.... das dropdownfeld ist nicht aktiv herzklopfen HTML, JavaScript, AJAX und CSS 4 25-01-2003 19:29

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:20 Uhr.