Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Dėl navigacijos


Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3184 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki kaip padaryti kad atsidarius pradinį puslapį (index.php) ant jo užsidėtų class="active"

dabar suveikia tik pvz įrašius index.php?page=komanda užsimeta ant komanda

 

<?php
  	$meniu = array(
  		'callback' => 'Navigacija::modifyNavbar',
  		'items' => array(
  			''  => array('pavadinimas'=>'Pradinis',  'url'=>'index.php', 'class'=>null),
  			'komanda'  => array('pavadinimas'=>'Komanda',  'url'=>'index.php?page=komanda', 'class'=>null)
		)
  	);

	class Navigacija {
		function modifyNavbar($items) {
			$ref = isset($_GET['page']) && isset($items[$_GET['page']]) ? $_GET['page'] : null;
			if($ref) {
			    	$items[$ref]['class'] .= 'active'; 
			}
			return $items;
		}
	  	public static function KuriamMeniu($meniu, $class) {
    		if(isset($meniu['callback'])) {
      			$items = call_user_func($meniu['callback'], $meniu['items']);
    		}
    		$html = "<ul class='$class'>\n";
		    foreach($items as $item) {
		      	$html .= "<li><a href='{$item['url']}' class='{$item['class']}'>{$item['pavadinimas']}</a></li>\n"; //<li><a href=\"#\">Pradinis</a></li>
		    }
		    $html .= "</ul>";
		    return $html;
  		}
	};
?>




o man reikia kad paspaudus ant pradinis arba atėjus į web užsidėtų ant pradinio class="active"

kodas kurtas pagal pamoką, bet perdarytas mano.

Nuoroda į komentarą
Dalintis per kitą puslapį

Sunkiai supratau ko reikia, bet parašiau apprastą kodą:
 

<?php
class Navbar {
	private $nav = array();
	private $currentPage = "";
	
	function __construct($page) {
		$this->currentPage = $page;
	}
	
	public function add_to_nav($name,$link,$displayName) {
		$this->nav[$name] = array('link'=>$link,'display'=>$displayName);
	}
	
	public function get_nav_links() {
		return $this->nav;
	}
	
	public function show_navbar() {
		$links = $this->nav;
		$current = $this->currentPage;
		echo "<ul class='navigacija'>";
		foreach($links as $name=>$opts) {
			if($current == $name) {
				echo "<li><a href='".$opts['link']."' style='color: #FF0000'>".$opts['display']."</a></li>";
			} else {
				echo "<li><a href='".$opts['link']."' style='color: #000'>".$opts['display']."</a></li>";
			}
		}
		echo "</ul>";
	}
}

$navbar = new Navbar($_GET['page']);
$navbar->add_to_nav("index","/index.php","Pagrindinis");
$navbar->add_to_nav("forum","/forum/","Forumas");

$navbar->show_navbar();
?>

add_to_nav(1arg,2arg,3arg);
1arg - $_GET['page'] pagal kurį nustatys ar ant to puslapio šiuo metu yra
2arg - nuoroda
3arg - Ką rodys žmogui

get_nav_links()  - duos array peržiūrėti kas jau įrašytą į navigacijas :)

show_navbar linkus susitvarkyk pagal save, susidėk kur tau reikia klases ir pan. :)

Redaguota , nario Hyperion
  • Teigiamai 2
Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3184 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...