Maj
31
2006

Jak: Tworzenie witryny za pomocą jednego kontrolera pliku index.php

Oto prosty przykład wykazać się doskonałą drogę linkujących ustalania ładowanie strony w oparciu o aktualny adres. Posiada wszystkich dostępnych stron w tablicy asocjacyjnej .. To może być łatwo pobierane z bazy danych.

Mam również kod szablonu do generowania prostego menu dla ciebie .. Można oczywiście tak skonstruować URL ręcznie w szablonach jeśli ten nie służy do Twoich potrzeb.

Dla zwięzłości, nie zawierają żadnych css lub struktury tabeli do index.tpl pliku.

index.php

Kod:
<? Php
/ **
* Kontroler WWW
* @ Author www.ideamesh.com
* /

/ / Include i instancji Smarty
include ('Smarty.class.php');
$ Smarty = & new Smarty ();

/ / Ustaw var url szukamy do kontrolowania wyświetlania strony
$ Page_var = 'strona';

/ / Funkcja $ zakresu _REQUEST tak, że strona może być przekazany w przez $ _POST lub $ _GET
$ Page_request = $ _REQUEST [$ page_var];

/ / Ta tablica zawiera związek między zmienną strony i szablon do ładowania .. Ta informacja może być również pobierane z db
$ Menu = array (
'Home' => 'home.tpl "
'O nas' => 'aboutus.tpl "
"Nasz system '=>' system.tpl"
"Produkty '=>' products.tpl"
);

/ / Sprawdź, czy żądana strona została znaleziona w menu
if (array_key_exists ($ page_request, $ menu))
$ Template = $ menu [$ page_request];
/ / Jeśli nie ustawić domyślną stronę
więcej
$ Template = 'home.tpl ";

/ / Przypisanie informacji do Smarty i wyświetlać
$ Smarty-> compile_id = $ template;
$ Smarty-> caching = 1;
$ Smarty-> assign ('menu', $ menu);
$ Smarty-> assign ('szablon', $ template);
$ Smarty-> assign ('page_var', $ page_var);
$ Smarty-> display ('index.tpl');
?>

index.tpl

Kod:
{Include file = "menu.tpl"}
{Include file = $ template}

menu.tpl

Kod:
{* Tworzymy listę menu z dostępnych stron w * Menu}
<ul id="navigation">
{Foreach key = url_val item = template_name od = $ menu}
<li>
href="{$SCRIPT_NAME}?{$page_var}={$url_val}"> <a
{$ Url_val} <br />
</ A>
</ Li>
{/ Foreach}
</ Ul>

tagi: ,
pisał w Przewodników , Programowanie przez Owen

Śledzić komentarze poprzez kanał RSS | Leave a comment | Trackback URL

Zostaw komentarz

 
© 2008 - 2012 - All Rights Reserved - Ideamesh, Inc 22 zapytaniami. 0.489 sekundy.