Jak utworzyć tabele z kilkoma wierszami i kolumnami |
![]() |
![]() |
Ten problem może się pojawić gdy tworzysz listę zawierającą więcej niż jedną kolumnę. Na początku zadanie to może się wydawac trudne ale jeśli dobrze zrozumiałeś wszystko zobaczysz że jest to proste zadanie. Na początek spójrzmy na strukturę szablonu:
001 <table border="1" cellpadding="10" cellspacing="0"> 002 <!-- template for table row - ⇒ 003 <patTemplate:tmpl name="row"> 004 <tr> 005 <!-- template for table cell - ⇒ 006 <patTemplate:tmpl name="cell"> 007 <td>{real_name} is {superhero}</td> 008 </patTemplate:tmpl> 009 </tr> 010 </patTemplate:tmpl> 011 </table> Jak zauważyłeś są tutaj dwa szablony, jeden powtarzany nazywany "row", drugi nazwany "cell", jest on powtarzany dla każdej komórki każdego wiersza. W tych komórkach zostanie umieszczona treść. 01 <?php 02 // data to display 03 $data = array( 04 array( "real_name" ⇒"Clark Kent", "superhero" ⇒"Superman" ), 05 array( "real_name" ⇒"Bruce Wayne", "superhero" ⇒"Batman" ), 06 array( "real_name" ⇒"Kyle Rayner", "superhero" ⇒"Green Lantern" ), 07 array( "real_name" ⇒"Wally West", "superhero" ⇒"The Flash" ), 08 array( "real_name" ⇒"Linda Danvers", "superhero" ⇒"Supergirl" ), 09 ); 10 // number of columns per row 11 $cols = 3; 12 13 // calculate number of rows 14 $rows = ceil( count( $data ) / $cols ); 15 $counter = 0; 16 17 // loop for each row 18 for( $i = 0; $i <$rows; $i++ ) 19 { 20 // clear cells from last row 21 $tmpl ⇒ clearTemplate( "cell" ); 22 23 // put data for one row in a new array 24 $rowData = array(); 25 for( $j = 0; $j <$cols; $j++ ) 26 { 27 if( isset( $data[$counter] ) ) 28 array_push( $rowData, $data[$counter++] ); 29 } 30 // add the data of one row to the cells 31 $tmpl ⇒ addRows( "cell", $rowData ); 32 // parse this row and append the data to previously parsed rows 33 $tmpl ⇒ parseTemplate( "row", "a" ); 34 } 35 $tmpl ⇒ displayParsedTemplate(); 36 ?> Najważniejszą funkcją jest Wykorzystaj funkcję array_chunk() do rozdzielenia danych z każdego wiersza na tablice.Uwagi, źródłaJeżeli masz sugestie odnośnie treści lub chcesz zgłosić poprawki do tego rozdziału, skomentuj go albo umieść wiadomość na forum: Dokumentacja - Propozycje, zmiany, poprawki Dziękujemy! Stefan Wajda, Zespół Dokumentacji PCJ Tłum. Adam Sobkowicz. Na podstawie: help.joomla.org |
|
Zmieniony ( 14.02.2007. ) |
« poprzedni artykuł | następny artykuł » |
---|