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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

EJS TreeGrid ansehen EJS TreeGrid

EJS TreeGrid is DHTML component written in pure JavaScript to display and edit data in table, grid, tree view or grid with tree on HTML page

09.04.2019 coqsoft@ | Kategorie: JAVASCRIPT/ Components
Suchmaschine redaktionell, Branchenportal zum Geld verdienen

Programmbeschreibung Die Bezahl-Suchmaschine ist in Perl und PHP programmiert (eigenes CGI-Verzeichnis notwendig), benötigt PHP aber keine MySQL-Datenbank. Webmaster haben mit dieser Suchmaschine neben der normalen kostenlosen Registrierung von Lin

06.04.2019 skripte@ | Kategorie: PHP/ Suchmaschinen
Oog Photo-Video-Gallery

Mit Oog Photo-Gallery können Sie einfach und stilvoll Bilder (auch Video & Audio) auf Ihrem PHP5-Webserver veröffentlichen und verwalten. Lizenz: GNU GPL v2

06.04.2019 trottbrand@ | Kategorie: PHP/ Bilder
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 01:58 Uhr.