webForumDet fria alternativet

Template

5 svar · 490 visningar · startad av Fuel

FuelMedlem sedan okt. 20001 325 inlägg
#1

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

CompusaMedlem sedan jan. 20022 952 inlägg
#2

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

CompusaMedlem sedan jan. 20022 952 inlägg
#3

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
} = ;?>

CompusaMedlem sedan jan. 20022 952 inlägg
#4

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.

// Hämta template, inkluderar att templatet parsas...
echo $tpl->fetch('myTemplate.tpl');
Alpha IIMedlem sedan maj 20002 579 inlägg
#5

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

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();

	}

}

?>
FuelMedlem sedan okt. 20001 325 inlägg
#6

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

Tack .. återkommer

Genererad på 377 ms · cache AV · v20260730165559-full.f96bc7eb