---
title: "Template"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/150981-template"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Fuel"
published: "2006-09-06T15:51:57.000Z"
updated: "2006-09-08T20:36:22.000Z"
replies: 5
views: 505
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/150981-template"
---

# Template

## #1 — Fuel, 2006-09-06T15:51Z

jag har krafsat ihop en minimal template class som verkar fungera ok. Dock så måste jag skriva \<?=DEF_VALUE;?\> istället för önskat {DEF_VALUE} i mitt template. Finns det någon som ett snabbhack för detta ? Behöver omg   :birp

Permalänk: https://www.webforum.nu/p/150981

## #2 — Compusa, 2006-09-06T16:14Z

Kolla in källkoden på denna, det kanske kan hjälpa dig?
<http://www.massassi.com/bTemplate/index.php?page=download>

Permalänk: https://www.webforum.nu/p/1861809

## #3 — Compusa, 2006-09-06T16:28Z

> **Fuel skrev:**
>
> Dock så måste jag skriva \<?=DEF_VALUE;?\> istället för önskat {DEF_VALUE} i mitt template.

Efter närmare eftertanke. Nu vet jag inte hur ditt template ser ut men borde det inte bara vara att göra en replace när du parsar? 

Dvs: 
{ = \<? 
och 
} = ;?\>

Permalänk: https://www.webforum.nu/p/1861812

## #4 — Compusa, 2006-09-06T16:51Z

Tredje gången gillt! Det du ska göra är att du kör en echo på resultat du får när du hämtar/parsar ditt template.

```php
// Hämta template, inkluderar att templatet parsas...
echo $tpl->fetch('myTemplate.tpl');
```

Permalänk: https://www.webforum.nu/p/1861817

## #5 — Alpha II, 2006-09-08T10:45Z

Detta är en förenklad version av mitt template script. Det används (detta är en gammal version dock) i mitt template system där varje sida är en xml fil som parsas efter innehåll och säkerhets access för olika grupper \<-\> sidor, samt stöder flera språk.

Alla variabler anges i formatet %var_name%

```php
<?php

require_once('common.php');

FileSafetyCheck();

class Template
{

	var $content;
	var $vars = Array();

	function SetVar($varName, $value)
	{
		$this->vars[$varName] = $value;
	}

	function Insert($varName, $template)
	{
		global $config, $lang;

		$template = $config['template_dir'] . '/' . $config['lang'] . '/' . $template;
		$file = fopen($template, 'r');

		if (!$file)
			exit($lang['TEMPLATE_NOT_FOUND'] . '(' . $template . ')');

		$insertContent = fread($file, filesize($template));
		$this->content = str_ireplace('%' . $varName . '%', $insertContent, $this->content);

	}

	function Load($template)
	{
		global $config, $lang;

		$template = $config['template_dir'] . '/' . $config['lang'] . '/' . $template;
		$file = fopen($template, 'r');

		if (!$file)
			exit($lang['TEMPLATE_NOT_FOUND'] . '(' . $template . ')');

		$this->content = fread($file, filesize($template));

	}

	function ProcessToString()
	{
		$str = $this->content;

		foreach ($this->vars as $key => $value)
		{
			$str = str_ireplace('%' . $key . '%', $value, $str);
		}

		return $str;
	}

	function Process()
	{
		print($this->ProcessToString());
		flush();

	}

}

?>
```

Permalänk: https://www.webforum.nu/p/1862321

## #6 — Fuel, 2006-09-08T20:36Z

Stabilt gubbs ! .. hade glömt att jag hade startat den här tråden   :r 

Tack .. återkommer

Permalänk: https://www.webforum.nu/p/1862454

---

Tråden på webben: https://www.webforum.nu/amne/php/150981-template
