Gå til innhold

[Løst]Hvordan lage template system?


Anbefalte innlegg

Hei..

 

Gjør forsøk på å lage mitt eget templatesystem, har sett litt på Wordpress ( Hvordan de har gjort det), Smarty og Zend Framework.

Jeg slet med å forstå 2 siste, så de tror jeg i dropper.

 

 

Tenkte at jeg kunne ha no sånn:

- Root

-- theme

-- Plugin

-- index.php

-- config.php

 

No àla det.

Noen som har noen bra tutorialer? Bra bøker å anbefalle?

 

Takk!

Lenke til kommentar
Videoannonse
Annonse

Er enig med theseaswillrun red på begge punkter. Bruk PHP som template språk og kos deg med det. Fordelen med PHP som templatespråk: raskt, enkelt, konsist og ingen sære tager som man har i f.eks Smarty. Kodemessig er WordPress mildt sagt elendig (spaghetti deluxe) og du vil ikke tilegne deg gode vaner av å se på koden til det faenskapet. Hvis du skal se bra kode, bør du generelt sett holde deg unna de mest populære cms-løsningene og heller titte på noen PHP5-biblioteker (Zend, et par Horde-pakker, Maintainable Framework f.eks.). Et template-system du kan ta en titt på er Savant3

Endret av Josh Homme
Lenke til kommentar

Har ikke giddet å gjort noe, Før idag, Har tenkt litt på at man legger alle i en array,

Og bytter dem ut når man includer. Hva blir best da? Har sette enkelte steder har gjort sånnt;

 

	<title>{$title}</title>

?

 

Og hvordan gjør man det med plugins? Henter ut filer fra akkuratt den folder? må man når man lager templates da skrive full sti, eller burde jeg gjøre det i index.php?

Lenke til kommentar

Templates er ikke noe stort og magisk. Kan gjøres veldig enkelt. Og det er ikke spesielt mye å finne opp på nytt med mindre du vil lage din egen syntaks.

 

<?php
class Presenter {
	private $data;
	public function template ( $path ) {
		$this -> data['template'] = $path;
	}
	public function set ( $var, $val ) {
		$this -> data[$var] = $val;
	}
	public function display () {
		extract ( $this -> data );
		require ( 'templates/page.php' );
	}
}
?>

templates/page.php kan f.eks. se slik ut.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>

	<title>Din tittel</title>
	<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1" />

<body>

	<?php require_once ( $template ); ?>

</body>

</html>

Og du bruker den på følgende måte.

 

Business:

 

<?php

$presenter = new Presenter ();
$presenter -> template ( 'templates/members-list.php' );
$presenter -> set ( 'users', array (
	array (
		'id' => 1,
		'username' => 'Ola Nordmann'
	),
	array (
		'id' => 2,
		'username' => 'Kari Nordmann'
	)
) );

$presenter -> display ();

?>

Presentasjon:

 

<ul>
<?php foreach ( $users as $user ): ?>
	<li><?= $user['id']; ?>: <?= $user['username']; ?></li>
<?php endforeach; ?>
</ul>

Endret av Jonas
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...