Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Twig wykorzystanie pętli?
Fred1485
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Witam,

Chcę za pomocą szablonów Twiga (podstawy znam) sobie wypisać na ekran tekst, nie wiem jak to najlepiej wytłumaczyć o co mi chodzi, ale przykładowo, mam podzielone linki na kategorie: aktywny, nieaktywny, inne
Docelowo muszę to zrobić za pomocą tablicy (chyba innego sposobu Twig nie uzna).

Link aktywny przechowuje url i value,
Link nieaktywny samo value,
Link inny url i value,

  1.  
  2. $active = array('url' -> 'jakis_url', 'value' => 'tekst');
  3. $inactive = array('value' => 'tekst');
  4. $other = array('url' -> 'jakis_url', 'value' => 'tekst');
  5.  
  6. // I teraz samo sedno sprawy bo w każdym rodzaju może się znajdować dowolna ilość linków.
  7. //Wszystko dodając do siebie
  8.  
  9. $output = array('active' => array($active1,$active2,$active_n), 'inactive' => array($inactive1,$inactive2,$inactive_n), 'other' => array($other1,$other2,$other_n),


Jak widać stworzyła się tablica 3-wymiarowa i teraz to wszystko trzeba wyrenderować (w szablonie raczej musi być pętla bo jak inaczej wszystkie rodzaje linków po kolei wyrednerować)

Jeśli jest ktoś kto dotarł do tego momentu i wie o co mi chodzi to jak trzeba to rozwiązać, może lepiej da się to zrobić (IMG:style_emoticons/default/sad.gif)

P.S Jest to schemat prostego navigatora więc tych linków tyle trzeba wyświetlać
P.S Ja uważam że to co ma iśc na ekran powinno być w jednej tablice (tak??)

Pozdrawiam

Ten post edytował Fred1485 27.04.2015, 15:27:34
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


A nie mozesz poprostu z tych cudactw zrobic jednej tablicy i pojsc petla w szablonie?
Go to the top of the page
+Quote Post
Fred1485
post
Post #3





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


No właśnie mogę i chcę tylko brak mi wiedzy jak to zrobić, podstawową zasadę pętli znam ale nie wiem jak strukturę w tablicy najlepiej zrobić i jak się do tego odwołać (IMG:style_emoticons/default/sad.gif)

Ten post edytował Fred1485 27.04.2015, 16:23:49
Go to the top of the page
+Quote Post
rad11
post
Post #4





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Do tablicy o takiej strukturze o ktorej mowisz lecisz w ten sposob:

  1. foreach($output as $k => $v){
  2.  
  3. foreach($v as $kk => $vv){
  4.  
  5.  
  6. foreach($vv as $kkk => $vvv){
  7.  
  8. var_dump($vvv);
  9.  
  10. }
  11.  
  12. }
  13.  
  14. }


Ten post edytował rad11 27.04.2015, 18:45:19
Go to the top of the page
+Quote Post
Fred1485
post
Post #5





Grupa: Zarejestrowani
Postów: 361
Pomógł: 22
Dołączył: 10.02.2015

Ostrzeżenie: (0%)
-----


Ale zaraz, zaraz co ty teraz chcesz wytłumaczyć.
Mi chodzi o bardziej merytorykę, czy taka tablica 3-wymiarowa w przypadku korzystania z Twiga jest słuszna, czy lepiej to zrobić inaczej, jak taką tablicę stworzyć to wiem z odwołaniem w szablonie już sobie poradziłem (chyba).

EDIT...


Który sposób będzie lepszy (a może to bez różnicy w wydajności, spójności etc)

  1. $output = [
  2. 'active'=>[
  3. 'url1'=>'wartosc1',
  4. 'url2'=>'wartosc2',
  5. 'url3'=>'wartosc3',
  6. ],
  7. 'inactive'=>[
  8. 'url1'=>'wartosc1',
  9. 'url2'=>'wartosc2',
  10. 'url3'=>'wartosc3',
  11. ]
  12. ];
  13.  
  14. $output = [
  15. 'active'=>[
  16. ['url' => 'jakis_url', 'wartosc' => 'jakas_wartosc'],
  17. ['url2' => 'jakis_url2', 'wartosc2' => 'jakas_wartosc2']
  18. ],
  19. 'inactive'=>[
  20. ['url' => 'jakis_url', 'wartosc' => 'jakas_wartosc'],
  21. ['url2' => 'jakis_url2', 'wartosc2' => 'jakas_wartosc2']
  22. ]
  23. ];


Przy zaznaczeniu że url będzie unikalny zawsze, czy ma to jakieś znaczenie, który sposób lepiej wybrać?

Ten post edytował Fred1485 29.04.2015, 18:33:07
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 02:03