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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

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: 364
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: 25.236
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.471
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: https://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, jQuery, CSS, Bootstrap, LESS 2 08-04-2009 19:06
Hover-Menü bei Links christian000 HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 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, jQuery, CSS, Bootstrap, LESS 2 28-09-2003 14:48
hilfe.... das dropdownfeld ist nicht aktiv herzklopfen HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS 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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:48 Uhr.