Mai
31
2006

Hvordan: Opprette et nettsted gjennom en index.php kontroller fil

Her er et enkelt eksempel for å demonstrere en enkelt vedlikeholdsvennlig måte å sette side lasting basert på gjeldende URL. Den har alle tilgjengelige sider i en assosiativ matrise .. Dette kan lett bli trukket fra en database.

Jeg har også tatt malkoden å generere en enkel meny for deg .. Du kan selvfølgelig bare konstruere URL hånd i malene dine dersom dette ikke tjene dine behov.

For enkelhets, jeg gjorde ikke inkludere noen css eller tabell struktur for index.tpl filen.

index.php

Kode:
<? Php
/ **
* Nettside controller
* @ Author www.ideamesh.com
* /

/ / Ta og instantiate Smarty
inkludere ('Smarty.class.php');
$ Smarty = & ny Smarty ();

/ / Stille inn url Var vi er ute etter å kontrollere sidevisning
$ Page_var = 'side';

/ / Bruke $ _REQUEST omfang slik at siden kan bli vedtatt i via $ _POST eller $ _GET
$ Page_request = $ _REQUEST [$ page_var];

/ / Dette utvalget har forholdet mellom siden variabel og malen for å laste .. Denne info kan også hentes fra en db
$ Menu = array (
'Hjem' => 'home.tpl',
'Om oss' => 'aboutus.tpl',
«Vårt system '=>' system.tpl ',
'Produkter' => 'products.tpl'
);

/ / Sjekk om den forespurte siden ble funnet i menyen
if (array_key_exists ($ page_request, $ menyen))
$ Mal = $ meny [$ page_request];
/ / Hvis ikke angir standard siden
ellers
$ Mal = 'home.tpl';

/ / Tilordne info til Smarty og vise
$ Smarty-> compile_id = $ mal;
$ Smarty-> caching = 1;
$ Smarty-> tildele ('menu', $ menyen);
$ Smarty-> tildele ('mal', $ mal);
$ Smarty-> tildele ('page_var', $ page_var);
$ Smarty-> display ('index.tpl');
>

index.tpl

Kode:
{Include file = "menu.tpl"}
{Include file = $ mal}

menu.tpl

Kode:
{* Vi genererer menylisten fra de tilgjengelige sidene i menyen *}
<ul id="navigation">
{Foreach key = url_val item = template_name fra = $ meny}
<li>
<a href="{$SCRIPT_NAME}?{$page_var}={$url_val}">
{$ Url_val} <br />
</ A>
</ Li>
{/ Foreach}
</ Ul>

tags: ,
postet i Guides , Programmering av Owen

Følg kommentarer via RSS | Legg igjen en kommentar | Trackback URL

Legg igjen din kommentar

 
© 2008 - 2012 - Alle Rettigheter - Ideamesh, Inc. 22 spørringer. 0.446 sekunder.