Versio

[Smarty] array index

Overzicht Reageren

Robin de Vries

Robin de Vries

11/04/2009 15:05:00
Quote Anchor link
ik heb in smarty 2 arrays
{$modules[key2].rank1} (= 1 of 0)
{$ranksid[key3].name} (= rank1, rank2, rank3, etc)

nu wil ik {$ranksid[key3].name} als index van {$modules[key2].rank1}
(ofwel, {$ranksid[key3].name} moet rank1 vervangen)


maar als ik wat probeer levert het niet meer op dan errors....

hoe moet de code in de template eruit zien?

Quote:
Topic verplaatst naar php.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Robin de Vries
 
PHP hulp

PHP hulp

25/05/2012 18:02:25
Gesponsorde koppelingen:
 
Robin de Vries

Robin de Vries

11/04/2009 19:27:00
Quote Anchor link
mmm..
ik heb nu dit in m'n template staan

{section name=key2 loop=$modules}
<tr class="{cycle values="table_blue,table_tr"}">
<td>{$modules[key2].name}</td>
<td>{$modules[key2].url}</td>
<td>{$modules[key2].dir}</td>
<td>{$modules[key2].file}.php</td>
{section name=key3 loop=$ranksid }
<td>{$modules[key2].$ranksid[key3].name}</td>
{/section}

maar ik krijg dan een foutmelding...

Warning: Illegal offset type in /usr/home/deb7398/domains/celp.nl/public_html/celp/includes/smarty/templates_c/%%14^147^147AEF48%%modules_cms.tpl.php on line 106

ik snap er echt niets van

Quote:
edit: sorry voor de bump
Gewijzigd op 01/01/1970 01:00:00 door Robin de Vries
 
The Force

The Force

11/04/2009 21:49:00
Quote Anchor link
Hey Robin,

Lastig probleem inderdaad, met een makkelijke oplossing:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
{section name=key3 loop=$ranksid }
    {assign var=rankname value=$ranksid[key3].name}
    <td>{$modules[key2].$rankname}</td>
{/section}


De parser van Smarty kan geen arrays met elkaar combineren. Een array en een normale variabele gaan wel samen. Zie de website http://www.phpinsider.com/smarty-forum/viewtopic.php?t=3806.

Greetz,

Theforce117
 
Robin de Vries

Robin de Vries

11/04/2009 22:13:00
Quote Anchor link
het werkt perfect,

thanks!
 



Overzicht Reageren

Get Adobe Flash player