Maijs
31
2006

Kā: Izveidot vietni, izmantojot vienu index.php kontrolieris failā

Šeit ir vienkāršs piemērs, lai parādītu viegli maintainable kā noteikt lapas ielādi, pamatojoties uz pašreizējo URL. Tai pieder visi Jūsu lapas tādā asociatīvā masīvā .. Tas varētu viegli izvilkt no datubāzes.

Man ir iekļauti arī veidnes kodu, lai radītu vienkāršu ēdienkarti jums .. Protams, var vienkārši izveidot URL ar rokām savās veidnēs, ja tas nekalpo jūsu vajadzībām.

Par īsuma, es neiekļāva nevienu css vai tabulu struktūru index.tpl failu.

index.php

Kods:
<? Php
/ **
* Mājas kontrolieris
* @ Author www.ideamesh.com
* /

/ / Iekļaut un instantiate Smarty
ietver ("Smarty.class.php ');
$ Smarty = & jauns Smarty ();

/ / Setup mēs meklējam kontrolēt lapas izskatu URL VAR
$ Page_var = 'lapa';

/ / Izmantojot $ _REQUEST darbības jomu, lai lapā var tikt pieņemts ar $ _POST vai $ _GET
$ Page_request = $ _REQUEST [$ page_var];

/ / Šis masīvs ieņem attiecības starp lapas mainīgo un veidnes, lai slodze .. Šī informācija varētu būt iegūti no db
$ Menu = array (
'Mājas' => 'home.tpl "
"Par mums" => 'aboutus.tpl "
"Mūsu sistēmā '=>' system.tpl"
"Produkti" => 'products.tpl'
);

/ / Check ja pieprasītā lapa tika atrasts izvēlnē
ja (array_key_exists ($ page_request, $ izvēlne))
$ Veidne = $ izvēlne [$ page_request];
/ / Ja nav noteikts standarta mājas lapu
cits
$ Veidne = 'home.tpl';

/ / Piešķirt datus uz Smarty un parādīt
$ Smarty-> compile_id = $ veidne;
$ Smarty-> caching = 1;
$ Smarty-> cedēt ('izvēlne', $ izvēlne);
$ Smarty-> cedēt ('veidnes', $ veidne);
$ Smarty-> piešķirtu ("page_var ', $ page_var);
$ Smarty-> displejs ("index.tpl ');
?>

index.tpl

Kods:
{Ietvert failu = "menu.tpl"}
{Ietvert failu = $ veidni,}

menu.tpl

Kods:
{* Mēs radīt izvēlnes sarakstu no pieejamajiem lappusēm izvēlnes *}
<ul id="navigation">
{Foreach taustiņš = url_val prece = template_name no = $ izvēlnes}
<li>
<a href="{$SCRIPT_NAME}?{$page_var}={$url_val}">
{$ Url_val} <br />
</>
</ Li>
{/ Foreach}
</ Ul>

tags: ,
rakstīja ceļveži , programmēšana ar Owen

Izpildiet komentārus, izmantojot RSS Feed | Leave a comment | Trackback URL

Pievienojiet komentāru

© 2008 - 2012 - All Rights Reserved - Ideamesh, Inc 22 vaicājumi. 0.311 sekundes.