Hallo,

Ik ben al ff aan het pielen met TemplatePower maar ik kom er niet helemaal uit!

Ik heb index.php met:
// class.TemplatePower.inc.php moet altijd worden geinclude!
include("_includes/class.TemplatePower.inc.php");

// Voordat je de database in kan, moet je eerst verbinding maken met de database
$connect = mysql_connect ("host","user","pass") or die ("Kon geen verbinding met MySQL Server tot stand brengen. MySQL error: " . mysql_error());
mysql_select_db("portfolio",$connect) or die("Kon geen verbinding maken met database. MySQL error: " . mysql_error());

$tpl = new TemplatePower( "_templates/index.tpl" );

if(empty($_GET)) { $_GET['get1'] = "home"; }

if(empty($_GET)){
// Home template klaar zetten
$tpl->assignInclude( "setup", "_templates/home.tpl" );
} else {
// Kijken of template bestaat
if(file_exists("_templates/".$_GET['get1'].".tpl")){ $tpl->assignInclude( "setup", "_templates/".$_GET['get1'].".tpl" ); }
else { $tpl->assignInclude( "setup", "_templates/vrijePagina.tpl" ); }
}

$tpl->prepare();


include("_pages/index.php");

if(!empty($_GET)){
// Kijken of php pagina bestaat
if(file_exists("_pages/".$_GET['get1'].".php")){ include("_pages/".$_GET['get1'].".php"); }
else { include("_pages/freecontent.php"); }
}

$tpl->printToScreen();

Ik heb in de map _pages een index.php en een freecontent.php
// Hoofdmenu
$sql = "SELECT * FROM freecontent WHERE status = 'active' AND visibility = 'visible' ORDER BY sort_order ASC";
$result = mysql_query($sql);
$i = 2;
$menuteller = 2;
while($row = mysql_fetch_assoc($result)){

if($_GET['get1'] == $row['link_rewrite']) { $active = "active"; } else { $active = ""; }
$tpl->newBlock("mainMenu");
$tpl->assign("name", str_replace("&","&",$row['name']));
$tpl->assign("url", $row['link_rewrite']."/");
$tpl->assign("active", $active);
$tpl->assign("menuteller", $menuteller);
$i++;
$menuteller++;

}

EN

$sql = "SELECT * FROM freecontent WHERE status = 'active' AND visibility = 'visible' AND link_rewrite = '".$_GET['get1']."'"; // selecteert alles uit de tabel "freecontent" met status op active en zichtbaarheid op zichtbaar en link_rewrite is gelijk aan get1
$result = mysql_query($sql) or die("Kon query niet uitvoeren: " . mysql_error()); // altijd toevoegen
$row = mysql_fetch_assoc($result); // altijd toevoegen

$tpl->assignGlobal("pageTitle" , $row['name']);
$tpl->assignGlobal("content" , $row['content']);

En in de map _templates heb ik home.tpl en vrijepagina.tpl
Bij beide:
{pageTitle}
{content}

EN een index.tpl
<body>
<h1>{pageTitle}</h1>
<div id="container">
<div id="header">
<!-- START BLOCK : mainMenu -->
<li><a href="{url}" class="{active}">{name}</a></li>
<!-- START BLOCK : mainMenu -->
</div>
<div id="content">
<!-- START BLOCK : rij -->
de pagina {naam} is aangemaakt op {date_add}<br /><br />
<!-- END BLOCK : rij -->

<section>
<!-- INCLUDE BLOCK : setup -->
</section>
</div>
<div id="footer">

</div>
</div>
</body>


Nu is het zo, als ik in de browser op een menu item druk, krijg ik een foutmelding:
The requested URL was not found on this server.

Nu is mijn vraag, wat ben ik vergeten? of wat doe ik fout?
Lijkt niet echt een melding van templatepower maar eerder een file die niet bestaat op de server. M.a.w. een 404 melding. Heb je een rewrite in gebruikt die niet helemaal lekker loopt?

Meerdere assign doe je trouwens het makkelijkst met een array i.p.v. meerdere assign regels.
Hey,

Bedankt voor je reactie en bedankt voor je "array" tip!!

Dus jij denkt dat de link naar "link_rewrite" in de database niet lekker loopt? Verkeerd getypt of iets dergelijks?

[size=xsmall]Toevoeging op 26/03/2011 07:29:08:[/size]

Ik ben toch ook even gaan kijken of het nu kon vinden, maar is niet zo..

Op de "site" heb ik een menu (home en about) uit de database, als ik op de links ga staan, dan linken ze naar home en about, op de "hoofdpagina" laadt hij de content van home, dus die werkt! Maar zodra ik op Home of About klik, dan werkt het niet meer!!

Heeft het misschien ook niet te maken dat ik het allemaal lokaal doe?? En dat de url van de website http://localhost:8888/Test_website_templates/ is?? Misschien zeg ik wel iets vreemds hoor, maar goed, ik moet hardop denken om er achter te komen waar het probleem ligt..

Alvast bedankt
Nee ik zeg een mod_rewrite ... hoe ontvangt het script de $_GET volgens mij kan dat namelijk alleen via mod_rewrite gezien je nette urls gebruikt.
Oke, hij werkt nu al wat beter!!

Ik was inderdaad dat mod_rewrite vergeten!

Maar! Nu kom ik door op een knop te drukken op de pagina http://localhost:8888/ terwijl de url wel goed staat (http://localhost:8888/Test_website_templates/about/

Dus dan moet er nog iets vreemds staan ergens of niet?

....
ik krijg nu een 404 error page als ik op een link druk..

[size=xsmall]Toevoeging op 27/03/2011 00:35:47:[/size]

Hey, heel erg bedankt voor je hulp!! Het werkt nu!! thnx

Reageren