wat voor soort template systeem?

Praat mee over van alles en nog wat!
Forumregels
Dit forum is voor alle zinnige gesprekken buiten phpBB om. Discussies en gesprekken over interessante onderwerpen.

Een nieuw onderwerp moet..:
  • uiteraard voldoen aan de algemene voorwaarden
  • niet passen in de gewone supportfora
  • interessante zijn voor het overgrote deel van onze gebruikers
  • een neutrale of positieve ondertoon hebben
  • anders zijn dan bestaande onderwerpen
Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

wat voor soort template systeem?

Bericht door Grimlock » 17 okt 2005, 20:17

Ik wil graag weten wat voor soort template systeem deze site gebruikt:
http://www.seibertron.com

Iemand enig idee? Een .tpl file? Hoe doe je dat? Wat zijn de voor en nadelen?
Ik wil graag alles weten van template mogenlijkheden!

Alvast harstikke bedankt!

Ik beshouw dit als een belangrijke vraag voor mijn website! :thumb:

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 17 okt 2005, 20:22

Dat kan je zo zonder code niet zien. we moeten dan scripts hebben :)

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 17 okt 2005, 20:25

paulus schreef:Dat kan je zo zonder code niet zien. we moeten dan scripts hebben :)
Ben bang dat hij dat niet verklapt :(

Wat zijn de beste professionele manieren?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 17 okt 2005, 20:35

Zijn er niet. JE kan geen php bestanden lezen zonder ftp toegang.

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 17 okt 2005, 20:57

dat bedoel ik niet. Ik bedoel wat zijn de beste manier van templaten?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 17 okt 2005, 21:01

Ik kan zonder scripts niet zien hoe en waar zijn template staan, en hoe die worden geparsed, en of hij wel templates gebruikt.

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 17 okt 2005, 21:18

Ik vraag alleen om een brok informatie. Laat die site er verder maar buiten. :wink:

Lontronics

Bericht door Lontronics » 17 okt 2005, 22:15

Paul heeft bijvoorbeeld zelf een zeer eenvoudig en basis template systeem geschreven.
Als je als user bent aangemeld op zijn website dan kan je via de volgende link de code bekijken: http://paulscripts.nl/?mode=scripts&scr ... ekijk&id=3

Het voordeel van een template systeem is dat je in principe de php code en de html layout van de website gescheiden kunt houden. Hierdoor kan je dus heel snel van template wisselen zonder dat je alle code door hoeft te wroeten om e.e.a. aan te passen.
Het nadeel zal zijn dat de code iets trager is dan een standaard php-pagina, echter ook daarvoor zijn weer oplossingen.
Er zijn zg. caching-systems waarbij de uiteindelijke output van een pagina wordt opgeslagen en mits er niets wordt gewijzigd aan de template of php-pagina, weer wordt hergebruikt.
Dit gebeurt bijvoorbeeld met de extreme styles mod voor phpbb.

Er zijn diverse template-systemen beschikbaar op internet.

Via google zoeken levert zowieso e.e.a. op: http://www.google.nl/search?hl=nl&q=fre ... eken&meta=

Groeten,
Jan

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 18 okt 2005, 10:00

Dat was me eerste echte script ooit :lol:
Zal hem is updaten, heb enige tijd geleden een stuk betere geschreven, deze ondersteund geen blocks(Dus zal hier in phpbb <!-- BEGIN xx --> en <!-- END xx ->), en is niet heel erg efficient :P

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 21 okt 2005, 22:22

Ik zal zo eens door je site heen fietsen, even kijken wat voor systeempje je gebakken hebt :)

//Edit

Wow, er staat helemaal geen n00bische uitleg bij! Maak jij alleen scriptjes voor pro's ofzo? Denk dat de pro's dit al beheersen...nutteloos dus :lol:

Ik heb op een andere site wel een duidelijke uitleg gevonden!

Maar toch bedankt voor het support natuurlijk! :thumb:

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 22 okt 2005, 11:18

Ok, doe ik het zo goed? ( + Wat vragen)

De pagina die ik aanmaak, bijvoorbeeld index.php of links.php bevat:

Code: Selecteer alles

<?php
//template.php en template.html toevoegen
require_once("lib/template.php");

$page = new Page("template.html");

//De portal toevoegen
$portal = file_get_contents ('http://www.spacebridge.nl/portal.php');

//De loginbox toevoegen
$loginbox = file_get_contents ('http://www.spacebridge.nl/forum/sitelogin.php');

//Spotlight inhoud
$spotlight_content = "Become a member of VECTORSIGMA.com 
          and Vector Sigma wil provide you with an Transformer body! Click here 
          to join us!";
		  
//Array's
$page->replace_tags(array(
  "page_title" => "VECTORSIGMA.COM - Creator of all living cybertronians!",
  "footer" => "copyright.php",
  "navigation" => "Navigation",
  "portal" => $portal, 
  "copyright_title" => "Copyright",
  "login_box" => "$loginbox",

  "spotlight" => "Vector Sigma's focus sportlight",
  "spotlight_img" => $spotlight_img,
  "spotlight_content" => $spotlight_content
));

$page->output();
?> 
Dan heb ik dit als template.php waar ik volgens mij verder niet aan hoef te komen:

Code: Selecteer alles

<?php
class Page
{
  var $page;

  function Page($template = "template.html") {
    if (file_exists($template))
      $this->page = join("", file($template));
    else
      die("Template file $template not found.");
  }

  function parse($file) {
    ob_start();
    include($file);
    $buffer = ob_get_contents();
    ob_end_clean();
    return $buffer;
  }

  function replace_tags($tags = array()) {
    if (sizeof($tags) > 0)
      foreach ($tags as $tag => $data) {
        $data = (file_exists($data)) ? $this->parse($data) : $data;
        $this->page = eregi_replace("{" . $tag . "}", $data,
                      $this->page);
        }
    else
      die("No tags designated for replacement.");
  }

  function output() {
    echo $this->page;
  }
}
?> 
En dit is mijn template bestand:

Code: Selecteer alles

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

<html>
  <head>
    <title>{page_title}</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style>
body {
	background: url('images/achtergrond9.jpg');
	background-repeat: repeat-x;
	background-attachment: fixed;
}

.hoofdlaag {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 10px;
	background-color: #000000;
	width: 1110;
	height: 940;
	z-index: 1;
}

.navigationleft {
	position: absolute;
	top: 120px;
	left: 10px;
	border: #000000;
	width: 125px;
	height: 800;
	bottom: 50px;
	z-index: 2;
	border: solid 2px #FFFFFF;
}

.contentmid {
	position: absolute;
	top: 120px;
	left: 145px;
	border: #000000;
	width: 400px;
	height: 300px;
	z-index: 2;
	border: solid 2px #FFFFFF;
}

.logo {
	position: absolute;
	left: 0px;
	top: 0px;
	right: 10px;
	width: 1100;
	height: 100;
	z-index: 2;
}

.newsportal {
	position: absolute;
	top: 120px;
	right: 20px;
	width: 545px;
	z-index: 3;
	left: 555px;
	border: solid 2px #FFFFFF;
	background-color: #EAEAEA;
	
}

.copyrightmainsite {
	position: absolute;
	right: 10px;
	width: 400px;
	height: 100px;
	z-index: 3;
	left: 145px;
	top: 830px;
	border: solid 2px #FFFFFF;
	background-color: #EAEAEA;
	font-family: Times New Roman, Times, serif;
	font-size: 10px;	
}

.mainsitetext {
	font-family: Courier New, Courier, mono;
	font-size: 12px;	
}

.contentboxhead {
	background-image: url(images/top_diag.gif);
	font-family: monospace;
	color: #FFFFFF;
	font-weight: bold;
	text-align: center;
}

.blackborder {
	border: solid 2px #000000;
	align: center;
	background-color: #EAEAEA;
}

.blackborderstyle2 {
	border: solid 2px #000000;
	align: center;
	background-color: #410A58;
}

</style>
  </head>
  <body>

<div class="logo"><img src="images/logo.gif" width="1100" height="100"></div>
<div class="hoofdlaag">hoofdlaag</div>
<div class="navigationleft"> 
  <table width="125" height="800" border="0" cellpadding="0" cellspacing="0" class="blackborderstyle2">
    <tr> 
      <td height="19" class="contentboxhead">&nbsp;</td>
    </tr>
    <tr> 
      <td height="781">{login_box}</td>
    </tr>
  </table>
</div>
<div class="contentmid"> 
  <table width="400" height="300" border="0" cellpadding="0" cellspacing="0" class="blackborder">
    <tr> 
      <td height="19" class="contentboxhead">{spotlight}</td>
    </tr>
    <tr> 
      <td height="281" valign="top" class="mainsitetext">{spotlight_content}{spotlight_img}</td>
    </tr>
  </table>
</div>
<div class="newsportal"> 
  <table class="blackborder" width="545" border="0" cellpadding="0" cellspacing="0">
    <tr> 
      <td height="18" class="contentboxhead">Latest Transformer news</td>
    </tr>
    <tr> 
      <td> 
        {portal}
      </td>
    </tr>
  </table>
</div>
<div class="copyrightmainsite"> 
  <table width="400" height="100" border="0" cellpadding="0" cellspacing="0" class="blackborder">
    <tr>
      <td class="contentboxhead" height="19">{Copyright_title}</td>
    </tr>
    <tr>
      <td class="mainsitetext" height="71">{footer}</td>
    </tr>
  </table>
  
</div>

  </body>
</html>
Ik heb een paar vragen hierover, naast die vragen zou ik graag tehoren krijgen wat ik fout die in de bovenstaande code's.

Vraag 1:
Als ik nu een nieuwe pagina wil aanmaken dus bv links.php
Moet ik dan de zelfde code overnemen als ik index.php staan en alleen de array's aanpassen?

Vraag2:
Als ik nou op mijn 2e pagina een verrandering in de layout wil hebben, betekend dat dat ik dan een 2e template file moet aanmaken?

Dat was het voor nu, ik vind het wel pittig hoor om zo over te stappen naar een geheel andere methode!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 11:35

Dit mag niet, je mag niet zomaar zonder toestemming van de eigenaar van een website, zomaar die kopieren en gebruiken. Daar zit (OOk al staat er niks op de site!!!) copyright op, en moet je dus toestemming hebben. Verder gaat dit ook niet goed werken, omdat je dan meerdere body html enz. hebt, in elkaar ;)

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 22 okt 2005, 11:59

Dit is volkomen legaal. Ik heb deze code van een tutorial die iedereen mag gebruiken. url

Als dit niet werkt, welk systeem moet ik dan hebben? Ik hoop dat daar uitleg bij staat of dat je die wilt geven. :thumb:

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 12:12

je mag van je EIGEN site bestanden include. Niet van iemand anders. Jij doet het nu van een site van iemand anders, en dat mag niet.
En als het van je eigen site zo zou doen, dan moet je niet met file_get_contents doen.

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 22 okt 2005, 12:18

DUDE! Dat IS mijn eigen site! En die file get tag hebben jullie van phpbb.nl me aangeraden te gebruiken!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 12:26

Niet voor dit soort dingen. Dan kan je de bestanden beter gewoon include, is veel sneller.

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 22 okt 2005, 14:30

Kijk ik kan nu wel verder googlen, maar ik hoorde op phpfreakz dat die tutoral wel erg primitief was. Wat raad jij mij aan paulus?

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 14:35

Draait op je site al een phpbb? Gebruik dan daarvan het template systeem.

Gebruikersavatar
Grimlock
Berichten: 513
Lid geworden op: 01 sep 2004, 12:56

Bericht door Grimlock » 22 okt 2005, 14:42

eem, hoe ga ik dat dan doen. Is daar een tutorial voor?

Want ik wil niet dat me site een groot forum word. Ik wil echt een site met een ingebouwd forum sectie. Maaar, wat me wel tof lijkt is dat het inloggen/uitloggen al op de site zelf kan en niet perse op het forum hoeft!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 22 okt 2005, 14:53

http://www.phpbb.com/kb/article.php?article_id=200 Daar staat precies hoe je het template systeem van phpbb gebruikt ;)

Plaats reactie