Toon posts:

[PhpLib Templates] Bestanden includen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik gebruik de template class van PHP Lib

Ik heb 1 template als zegmaar "pageset", en gebruik enkele sub-templates.

Maar nu wil ik bestanden includen uit een bepaalde directory, en die evt niet laten parsen door de template.

Hoe doe ik dat? (het lieft gewoon php require("dir/bestand.inc.php"), zoals je dat zou doen zonder templates...


Alvast bedankt :)

  • xshredx
  • Registratie: Maart 2001
  • Laatst online: 05-09 12:46

xshredx

 

huh? je vraag vind ik compleet niet duidelijk hoor, maar ik doe een poging om te helpen.

1. wil je eigenlijk een bestand includen met php code die niet geparsed wordt? dan wijs je die pagina toch gewoon niet toe aan je template variabele?

2. of wil je een html (template) bestand includen , maar daarin geen variabelen parsen?
PHP:
1
<?$t = new Template("templates/");$t->set_file("bestand_handle","bestand_dat_je_niet_wil_parsen.ihtml");$t->parse("output","bestand_handle");?>

als je geen variabelen toewijst, wordt er ook niets geparsed.

eventueel kun je bij de aanmaak van je template object ook nog specifiëren wat er moet gebeuren met onbekende variabelen
dus
$t->new Template("templates/", $unknowns= "keep");

je kan kiezen tussen remove, keep en comment om voor de phplib template klasse aan te duiden wat die moet doen met onbekende variabelen

Verwijderd

Topicstarter
Ik wilde eigenlijk een PHP bestand die HTML geeft, includen als zijnde een template :)

Ik wil gewoon een bepaald iets LOS laten staan van het php/template gebeuren...

Dit lukt me niet, omdar ik de template als laatste alles laat printen. Elke echo "bla"; die ik daarvoor doe, wordt dus ook helemaal bovenaan de pagina getoond.

Ik vroeg me dus af of daarvoor een oplossing is :?

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 05-09 15:27

TheDane

1.618

definieer een block in je pageset
PHP:
1
<?$tmpl->set_file("page", "pageset.ihtml");$tmpl->set_block("page", "block", "block-out");// init$tmpl->set_var("block-out", "");if ($eenofanderevoorwaarde) {  include("anderphpbestand");  $nieuweclass = new IncludeBestand();  // parse hier conditionele content in block  $nieuweclass->show_andere_content("block");); // parse tenslotte de page $tmpl->parse($result, "page");?>

zoiets?

je kunt 't ook met conditionele blocks in je template file aanpakken overigens.

in je pageset.ihtml zet je dan je block variable waar je 'm hebben wil:
code:
1
2
3
<!-- BEGIN block -->
<table><tr><td>hier je content</td></tr></table>
<!-- END block -->

Verwijderd

volgens mij ben je gwoon vergeten <?php ?> om je code te zette in die 'template' file:)

  • TheDane
  • Registratie: Oktober 2000
  • Laatst online: 05-09 15:27

TheDane

1.618

Op zondag 16 juni 2002 20:40 schreef FURY het volgende:
volgens mij ben je gwoon vergeten <?php ?> om je code te zette in die 'template' file:)
|:( zeg dan niks.

een template file is over het algemeen niks meer dan html met ietwat 'speciale' tekens / blokken.

en al helemaal met phplib templates
Pagina: 1