Mai
31
2006

Kuidas: Loo saidi kaudu 1 index.php kontroller fail

Siin on lihtne näide, et näidata, kergesti hooldatav viis, milles lehe laadimise põhineb praeguse URL. Tal on kõik teie käsutuses lehekülgi assotsiatiivne massiiv .. See võib kergesti tõmmata andmebaasist.

Olen ka malli koodi luua lihtne menüü teile .. Sa võid muidugi lihtsalt ehitada URL käsitsi oma malle, kui see ei teeni teie vajadustele.

Lühiduse, ma ei sisaldanud css või tabeli struktuuri index.tpl faili.

index.php

Kood:
<? Php
/ **
* Veebileht kontroller
* @ Author www.ideamesh.com
* /

/ / Lisage ja instantiate Smarty
include ("Smarty.class.php ');
$ Smarty = & Uus Smarty ();

/ / Setup url var otsime kontrollida lehe kuvamiseks
$ Page_var = 'leht';

/ / Kasutamine $ _REQUEST ulatust nii, et leht oleks võimalik edastada läbi $ _POST või $ _GET
$ Page_request = $ _REQUEST [$ page_var];

/ / See array omab suhet lehele muutuja ja vormi laadida .. See info võiks ka väljavõtteid db
$ Menu = array (
Kodu '=>' home.tpl "
"Meist" => "aboutus.tpl"
"Meie süsteem '=>' system.tpl"
"Tooted" => "products.tpl"
);

/ / Kontrollib kas Soovitud lehekülge ei leitud menüüs
if (array_key_exists ($ page_request, $ menu))
$ Template = $ menu [$ page_request];
/ / Kui ei ole vaikimisi lehele
teine
$ Template = 'home.tpl ";

/ / Määra info Smarty ja kuvada
$ Smarty-> compile_id = $ template;
$ Smarty-> caching = 1;
$ Smarty-> loovutada ("menu", $ menu);
$ Smarty-> loovutada ("template", $ template);
$ Smarty-> loovutada (page_var ", $ page_var);
$ Smarty-> display ('index.tpl');
?>

index.tpl

Kood:
{Hulka file = "menu.tpl"}
{Hulka file = $ template}

menu.tpl

Kood:
{* Me genereerida menüüs nimekiri olemasolevate lehekülgi menüü *}
<ul id="navigation">
{Foreach key = url_val item = template_name from = $ menu}
<li>
<a href="{$SCRIPT_NAME}?{$page_var}={$url_val}">
{$ Url_val} <br />
</ A>
</ Li>
{/ Foreach}
</ Ul>

tags: ,
postitatud juhendid , programmeerimine by Owen

Järgige kommentaarid via RSS Feed | Leave a comment | Trackback URL

Jäta oma kommentaar

© 2008 - 2012 - All Rights Reserved - Ideamesh, Inc 22 queries. 0,816 sekundit.