WinFuture-Forum.de: Wie Kann Ich Meinen Code Einfacher Und übersichtlicher Schreiben^^ - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
  • 5 Seiten +
  • 1
  • 2
  • 3
  • 4
  • 5

Wie Kann Ich Meinen Code Einfacher Und übersichtlicher Schreiben^^ >>php

#46 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 18. Mai 2008 - 19:12

Also um kurz das Vorgehen zu erklären, mit dem du das GB wieder zum laufen bekommst: Bei den Links und Adressen wie ?act=... musst du einfach noch &topmenu_oben&sub=gb anhängen, damit das Script auch wieder "weiß", dass es das GB-Script ausführen soll.

Aber wie bereits von den anderen angemerkt, wäre es besser, sich erstmal mit PHP etwas auseinanderzusetzen, bevor man wild Source-Snippets zusammenkopiert :ph34r:

Gruß,
Stefan
0

Anzeige



#47 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 18. Mai 2008 - 20:38

Danke Diewie
hab ich jetzt kapiert;-)

Ich lern halt viel lieber php oder so was in dem ich projekte mache (wie diese website) und ich erst mal nur code zusammenschnippel und denn schreib ich immer mehr les dann die meisten begriffe nach und irgendwann wirds immer besser und ich schreibe mehr selbstständig.
Find ich viel angenehmer zu lernen als wenn ich jetzt über hundert seiten theorie lesen muss;-)

MFG
0

#48 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 18. Mai 2008 - 21:10

okee
nächste frage;-)

kann ich bei dem menü array für die elemente des untermenüs auch ein unter unter menü einbauen. D.h. das ich zum beispiel bei impressum noch ein untermenü einbau dass sich per javascript z.B. ausfahren lässt wo dann noch kontakte und sonstiges als überschrift stehen?
Die linkleiste (du bist hier:...) sollte sich dementsprechend auch ändern menü>>impressum>>kontakte^^
0

#49 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 18. Mai 2008 - 21:16

Da brauchst du kein Javascript, das geht mit php genauso bzw. sogar noch besser, weil serverseitig.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#50 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 18. Mai 2008 - 21:35

Beitrag anzeigenZitat (Dyon: 18.05.2008, 22:10)

okee
nächste frage;-)

kann ich bei dem menü array für die elemente des untermenüs auch ein unter unter menü einbauen. D.h. das ich zum beispiel bei impressum noch ein untermenü einbau dass sich per javascript z.B. ausfahren lässt wo dann noch kontakte und sonstiges als überschrift stehen?
Die linkleiste (du bist hier:...) sollte sich dementsprechend auch ändern menü>>impressum>>kontakte^^


Natürlich geht das. Am einfachsten wäre es, nochmal ein Array zu erstellen, das den Namen des "Navigation-Punktes" trägt. Dann frägst du in der Schleife für die "Sub" einfach ab, ob ein Array mit dem Namen des Keys existiert und falls ja, dann gibst du einfach die Unterpunkte aus. Für solche Menüs sind CSS-basierte besser als Javascript-basierte bzgl. der Barrierefreiheit. (siehe z.B. http://www.cssplay.co.uk/menus/)

Beitrag anzeigenZitat (Gitarremann: 18.05.2008, 22:16)

Da brauchst du kein Javascript, das geht mit php genauso bzw. sogar noch besser, weil serverseitig.

Mit PHP kannst du aber nichts "ausfahren" lassen. Daher, wie bereits erwähnt, am Besten die CSS-Variante benutzen.

Gruß,
Stefan

Dieser Beitrag wurde von Diewie bearbeitet: 18. Mai 2008 - 21:37

0

#51 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 18. Mai 2008 - 21:54

Beitrag anzeigenZitat (Diewie: 18.05.2008, 22:35)

Natürlich geht das. Am einfachsten wäre es, nochmal ein Array zu erstellen, das den Namen des "Navigation-Punktes" trägt. Dann frägst du in der Schleife für die "Sub" einfach ab, ob ein Array mit dem Namen des Keys existiert und falls ja, dann gibst du einfach die Unterpunkte aus. Für solche Menüs sind CSS-basierte besser als Javascript-basierte bzgl. der Barrierefreiheit. (siehe z.B. http://www.cssplay.co.uk/menus/)


Mit PHP kannst du aber nichts "ausfahren" lassen. Daher, wie bereits erwähnt, am Besten die CSS-Variante benutzen.

Gruß,
Stefan


Naja nicht "ausfahren" in dem Sinne, dass man zugucken kann, wie es langsam größer wird, aber dass eben nach anklicken eines Menüpunktes weitere Unterpunkte dastehen geht ganz einfach mit php und wirkt dreimal professioneller aus als so ein Klappspielzeug.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#52 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 18. Mai 2008 - 21:55

kann man mit php auch so machen
http://www.cssplay.c...ical_slide.html
dass es so ausfährt
also so vom prinzip her^^
0

#53 Mitglied ist offline   Gitarremann 

  • Gruppe: aktive Mitglieder
  • Beiträge: 3.221
  • Beigetreten: 04. Juni 06
  • Reputation: 3
  • Geschlecht:Männlich
  • Wohnort:Trebnitz

geschrieben 18. Mai 2008 - 23:19

Beitrag anzeigenZitat (Dyon: 18.05.2008, 22:55)

kann man mit php auch so machen
http://www.cssplay.c...ical_slide.html
dass es so ausfährt
also so vom prinzip her^^


Ist das ne Frage? Also das geht mit reinem php per Klick zu machen ja. Also nur drüberfahren geht nicht, dazu braucht man die CSS-Variante aber mit anklicken gehts. Einfach über eine if-Bedingung das Untermenü dann anzeigen, wenn für $sub der entsprechende Wert übergeben wird.
Der Pessimist sagt: "Das Glas ist halb leer,"
Der Optimist sagt: "Das Glas ist halb voll."
Der Realist sagt: "Bedienung, zwei Neue!"
0

#54 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 19. Mai 2008 - 09:28

Also ich versuch das mal mit der php variante mit draufklicken und so^^
$impressum['impressum'] = array('impressum' => 'impressum',
										'kontakte' => 'kontakte');


Das array hätte ich jetzt so angefangen

und dann muss ich hier
			foreach($menu as $topkey => $topvalue) {
				echo '<li class="menuefeldueberschrift">'.$menu_top[$topkey].'</li>';
				
				foreach($menu[$topkey] as $subkey => $subvalue) {
					echo '<li class="menuefeldmain"><a href="?top='.$topkey.'&amp;sub='.$subkey.'">'.$subvalue.'</a></li>';
				}	
			}

bei jedem menüpunkt irgendwie nachfragen ob es $impressum usw. gibt und wenn ja beim draufklick auf impressum anzeigen.

Ist der Ansatz so in etwa richtig?
0

#55 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 19. Mai 2008 - 18:16

Ja ich würde einfach nochmal ein Array deklarieren z.B.
/* Menü erstellen */
    		foreach($menu as $topkey => $topvalue) {
    			echo '<li class="menuefeldueberschrift"><a href="?top='.$topkey.'">'.$menu_top[$topkey].'</a></li>';
    			
    			foreach($menu[$topkey] as $subkey => $subvalue) {
    				echo '<li class="menuefeldmain"><a href="?top='.$topkey.'&amp;sub='.$subkey.'">'.$subvalue.'</a></li>';
    				
    				// Für Fly-Out Menü
    				if (isset($menu_sub[$subkey]) && is_array($menu_sub[$subkey])) {
    					foreach($menu_sub[$subkey] as $subsubkey => $subsubvalue) {
    						/* Hier kannst du dein Fly-Out Menü implementieren */
    						echo '<ul><a href="?top='.$topkey.'&amp;sub='.$subkey.'&amp;subsub='.$subsubkey.'">'.$subsubvalue.'</a></ul>';
    					}
    				}
    				
    				// Für Ausklappen nach anklicken
    				if (isset($menu_sub[$sub]) && is_array($menu_sub[$subkey])) {
    					foreach($menu_sub[$subkey] as $subsubkey => $subsubvalue) {
    						/* Menüpunkte, die nach anklicken sichtbar werden */
    						echo '<ul><a href="?top='.$topkey.'&amp;sub='.$subkey.'&amp;subsub='.$subsubkey.'">'.$subsubvalue.'</a></ul>';
    					}
    				}
    			}
    		}


Der Rest sollte klar sein

Gruß,
Stefan

Dieser Beitrag wurde von Diewie bearbeitet: 19. Mai 2008 - 18:17

0

#56 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 19. Mai 2008 - 19:33

oh vielen dank^^

Nur eine Frage
wenn ich jetzt da drauf klick dann fährt es auch bei einem anderen menüpunkt das array aus (wenn ich z.b. bei impressum und bei news ein array habe)
Kann man irgendwie mit einer funktion sagen, dass nur der jeweilige menüpunkt ausgefahren wird?

Danke^^
0

#57 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 19. Mai 2008 - 19:43

Upps, das habe ich beim vorherigen Code vergessen. Einfach die If-Abfrage ändern:

    				// Für Ausklappen nach anklicken
    				if (($sub == $subkey) && isset($menu_sub[$sub]) && is_array($menu_sub[$subkey])) {
    					foreach($menu_sub[$subkey] as $subsubkey => $subsubvalue) {
							/* Menüpunkte, die nach anklicken sichtbar werden */
    						echo '<ul><a href="?top='.$topkey.'&amp;sub='.$subkey.'&amp;subsub='.$subsubkey.'">'.$subsubvalue.'</a></ul>';
    					}
    				}

0

#58 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 19. Mai 2008 - 20:24

bei dem hier
sie sind hier:
		if (isset($menu_top[$top])) {
			if (isset($menu[$top][$sub])) {
				echo ' >> '.'<a href="?top='.$top.'&amp;sub='.$sub.'">'.$menu[$top][$sub].'</a>';
					if (isset($menu[$top][$sub][$subsub])) {
						echo ' >> '.'<a href="?top='.$top.'&amp;sub='.$sub.'&amp;subsub='.$subsub.'">'.$menu[$top][$sub][$subsub].'</a>';
					}
			}
		}


Hab ich das mal so versucht so wird mri aber als dritter link immer nur der anfangsbuchstabe der überschrift angezeigt
so wie ich es mal im browser versucht habe ist zwar der link richtig aber mir wird die falsche überschrift angezeigt angezeigt

das hab ich ganz oben stehen
$top = trim($_GET['top']);
	$sub = trim($_GET['sub']);
	$subsub = trim($_GET['subsub']);

0

#59 Mitglied ist offline   Diewie 

  • Gruppe: aktive Mitglieder
  • Beiträge: 409
  • Beigetreten: 18. Juni 06
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Geisenhausen / München

geschrieben 19. Mai 2008 - 20:39

Das Array mit den subsub heißt $menu_sub. Daher könntest du es so machen.

if (isset($menu_top[$top])) {
			echo '<a href="?top='.$top.'">'.$menu_top[$top].'</a>';
			
			if (isset($menu[$top][$sub])) {
				echo ' >> '.'<a href="?top='.$top.'&amp;sub='.$sub.'">'.$menu[$top][$sub].'</a>';
				
				if (isset($menu_sub[$sub][$subsub])) {
					echo ' >> '.'<a href="?top='.$top.'&amp;sub='.$sub.'&amp;subsub='.$subsub.'">'.$menu_sub[$sub][$subsub].'</a>';
				}
			}
		}


Gruß,
Stefan
0

#60 Mitglied ist offline   Dyon 

  • Gruppe: aktive Mitglieder
  • Beiträge: 125
  • Beigetreten: 04. April 08
  • Reputation: 0

geschrieben 19. Mai 2008 - 21:37

Danke
irgendwie will mein title noch nicht ganz
<title>blabla.net<? echo (isset($menu[$top][$sub]))?' - '.$menu[$top][$sub]:null; ?></title>

so war er vorher

und so wollte ich ihn jetzt machen
<title>blabla.net<? echo (isset($menu[$top][$sub]))?' - '.$menu[$top][$sub]:null; echo (isset($menu[$top][$sub]))?' - '.$menu_sub[$top][$sub][$subsub]:null;?></title>
hmm irgendwo ein klitzekleiner dummer fehler:-(
0

Thema verteilen:


  • 5 Seiten +
  • 1
  • 2
  • 3
  • 4
  • 5

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0