Twig i renderowanie z tablicy

0

Cześć,

Mam taką strukturę do wyświetlenia na ekranie za pomocą Twiga, musi się to odbywać za pomocą jednej tablicy (chyba że jest lepsze rozwiązanie)

Linki aktywne:
Url oraz Value
Linki nieaktywne:
Url oraz Value

W każdym rodzaju może być kilka linków (w szablonie w pętli się wszytko wykona po kolei). Teraz pytanie czy dobrą strukturę sobie obrałem czy do się to zrobić prościej:

$otput = array('active' => array(array('url' => 'url', 'value' => 'wartosc), array('url' => 'url2', 'value' => 'wartosc2'), array('url' => 'url3', 'value' => 'wartosc3')), 'inactive' => array(array('url' => 'url', 'value' => 'wartosc')));

Taki sposób oczywiście działa ale czy do tego potrzeba zrobić 3-wymiarową tablicę lub więcej jeśli będzie potrzeba czy przy Twigu jednak inaczej się to powinno robić?

0

Jeżeli url jest unikalny to możesz zrobić i:

$output = [
  'active'=>[
    'url1'=>'wartosc1',
    'url2'=>'wartosc2',
    'url3'=>'wartosc3',
  ],
  'inactive'=>[
    'url1'=>'wartosc1',
    'url2'=>'wartosc2',
    'url3'=>'wartosc3',
  ]
];

Trochę prostsza struktura, ale być może kosztem minimalnie większego czasu wykonania (nie wgłębiałem się tak bardzo w php, ale zdaje się "normalna" tablica będzie parsowana szybciej niż asoscacyjna - niemniej są to drobnostki, których i tak nie zauważysz).

0

Ale z twoją struktura to chyba ciężko będzie w szablonie sie do tego odwołać, bo podam kluczto twig odczytuje wartość wiec do url bym sie nie mógł odwołać

1
{% for key,value in output %}
    Key : {{ key }}
    Value : {{ value }}
{% endfor %}
0

Nie wiedziałem że tak nawet się da, ale teraz już będzie znacznie łatwiej, dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1