[PHP/Smarty] parse included Template

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben aan het overstappen van de PHPLib Template engine naar die van Smarty.
In PHPLib include ik in elke file mijn overall design en plaatste daarin de output voor die file. Ik ben zover dat in Smarty ik nu files kan includen (zij het vanuit de Templte file zelf, ipv PHP), maar in mijn overall design moeten er wat variabelen dynamisch worden gezet.

Aangezien included Templates blijkbaar NIET worden geparsed probeer ik het nu via de include functie, maar dat krijg ik niet voor mekaar.

Het volgende werkt bij mij NIET:
code:
1
{include file="design_header.tpl" SITE_URL="{$global.SITE_URL}"}
of
code:
1
{include file="design_header.tpl" SITE_URL="$global.SITE_URL"}


Dit werkt wechter wel, maar is niet dynamisch:
code:
1
{include file="design_header.tpl" SITE_URL="sugababes.nl" }


Weten jullie een manier om included Templates te parsen of de juiste manier van het assignen van vars binnen een included Template?

[ Voor 6% gewijzigd door Verwijderd op 27-11-2002 15:05 . Reden: layout werd opgefukked ]


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

haal de quotes om $global.SITE_URL eens weg :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 08:47

Kettrick

Rantmeister!

Probeer het zo eens :

{assign var=SITE_URL value=$global.SITE_URL}
{include file="design_header.tpl"}

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
RoeLz schreef op 27 november 2002 @ 15:32:
Probeer het zo eens :

{assign var=SITE_URL value=$global.SITE_URL}
{include file="design_header.tpl"}
Ook dat werkt niet.
ik assign in mijn PHP file al de var global.SITE_URL, maar ook als ik hem als variabele neerzet in mijn PHP wordt hij niet doorgegeven.

Ik heb als test boven aan mijn design_header.tpl al {$SITE_URL} neergezet zodat ik makkelijk kan zien of ik wat fout doe, maar het komt echt niet door. Of ligt dit dan toch gewoon aan mij?
thomaske schreef op 27 november 2002 @ 15:28:
haal de quotes om $global.SITE_URL eens weg :)
Met of zonder " maakt niet uit...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
moet ik anders een (dynamische) config file genereren?
Zou dat mijn probleem oplossen?

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

PHP:
1
$smarty->debugging = true;


Zet de debug eens aan. En kijk of die variable wel wordt meegegeven.

Maar er is raars aan de hand, aangezien included templates ook geparsed moeten worden.

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het lag er dus aan dat Smarty geen vars kan parsen met een . erin....
Ik gebruikte nl $global.SITE_URL, maar heb hier dat global weggelaten omdat het de layout verneukte :(

Maar ja, weer wat geleerd....

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Variable met een . erin
Jakkes... wat eng.
offtopic:
Het is niet fout, maar persoonlijk niet mijn idee van netjes programmeren



Maar iig Smarty gebruikt de . om een array aan te geven. Ik dacht dat $global dus ook een array was. :)

Programmer - an organism that turns coffee into software.


  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

LuCarD schreef op 28 November 2002 @ 11:17:

Maar iig Smarty gebruikt de . om een array aan te geven. Ik dacht dat $global dus ook een array was. :)
* thomaske dacht dat ook! :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


  • Kettrick
  • Registratie: Augustus 2000
  • Laatst online: 08:47

Kettrick

Rantmeister!

thomaske schreef op 28 november 2002 @ 11:40:
[...]


* thomaske dacht dat ook! :)
* Kettrick ook :X

lekker dan :)

[ Voor 47% gewijzigd door Kettrick op 28-11-2002 13:46 ]


Verwijderd

Topicstarter
in ieder geval weer wat geleerd...

ik heb geen variabelen in PHP met een '.', maar alleen in mijn templates om var's te groeperen. Dus alle globale var's heetten bij mij {global.VAR_NAME} enzovoort.
Smarty gebruikt de . om een array aan te geven
Moet ik hierbij denken aan bijvoorbeeld:
code:
1
PHP: $array['named_index'] == SMARTY: {$array.named_index} ?

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

heb je hier wel eens gezocht?

[goede bui-modus]
hier dus
[/goede bui-modus]

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Verwijderd

Topicstarter
thomaske schreef op 28 November 2002 @ 14:31:
heb je hier wel eens gezocht?

[goede bui-modus]
hier dus
[/goede bui-modus]
ja, ik heb bijna de gehele docu al doorgelezen, maar sommige dingen vond ik wat onduidelijk. Waar ik niet bij heb stilgestaan is dat $array['named_index'] een Associative Array is...

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 28 november 2002 @ 14:33:
[...]


ja, ik heb bijna de gehele docu al doorgelezen, maar sommige dingen vond ik wat onduidelijk. Waar ik niet bij heb stilgestaan is dat $array['named_index'] een Associative Array is...
LOL....

dan begrijp ik jouw verwarring... Het iets waar je makkelijk overheen kan lezen...

Maar gelukkig je bent er uit.. :)

Programmer - an organism that turns coffee into software.

Pagina: 1