Twig i renderowanie z tablicy

Twig i renderowanie z tablicy
M1
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:18
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:

Kopiuj
$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ć?

dzek69
Wyeliminuj literówki z kodu, bardzo Cię proszę. Dałoby się to też zapisać czytelniej (nowe linie), żebym po 2 sekundach widział o co chodzi, a nie czytał zlewający się tekst z błędami składniowymi.
dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Rzeszów
0

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

Kopiuj
$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ć

dzek69
Moderator
  • Rejestracja:ponad 18 lat
  • Ostatnio:około 2 miesiące
  • Lokalizacja:Rzeszów
1
Kopiuj
{% for key,value in output %}
    Key : {{ key }}
    Value : {{ value }}
{% endfor %}

M1
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 7 lat
  • Postów:18
0

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

edytowany 1x, ostatnio: dzek69
dzek69
Krok 1. Zapoznanie z narzędziem. Krok 2. Używanie go. || Polecam ten styl pracowania, zdecydowanie lepsze rezultaty ;)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.