Dodanie takiej tabeli należy podzielić na dwa etapy:
edycja skina ( bitów )
edycja plików .php
Poniżej zaprezentuję opis jakie zmiany należy wprowadzić by uzyskać boczną tabelę z następującymi informacjami:
Ostatnie tematy z forum
Ostatnie posty z forum
Podgląd:
Edycja skina Przejdź do: ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Board Index >> PageTop na końcu kodu wstaw: <table width="100%" border="0" cellpadding="0" cellspacing="2">
<tr>
<td valign="top">
Zapisz bit.
Przejdź do: ACP > LOOK & FEEL > ( wybór skina ) > Edit Template HTML > Board Index >> stats_header na początku kodu wstaw: </td>
<td valign="top" width='250px'>
<% DP23BAR %>
</td>
</tr>
</table>
Zapisz bit.
[*] Edycja plików .php
Otwórz plik: sources/classes/class_display.php
Znajdź:
$this->ipsclass->skin['_wrapper'] = str_replace( "<% CHARSET %>" , $this->ipsclass->vars['gb_char_set'], $this->ipsclass->skin['_wrapper']);
Dodaj poniżej:
//-------------------START----------------------
// (DP23) right panel by DawPi
//-------------------START----------------------
#ustawienia start
$IleTematow = 10; //wpisz ile pokazywac ostatnich tematow
$IlePostow = 5; //wpisz ile pokazywac ostatnich postow
$ZablokowaneFora = array( 1, 2, 3 ); //wpisz ID for z ktorych nie powinno pobierac tematow i postow
$TnijNazwe = 35; //wpisz dlugosc powyzej ktorej linki beda zastapione przez 'Jakas dluga nazwa...'
#ustawienia koniec
#nie zmieniaj nic ponizej!
$dp23rmenu = "<div class='borderwrap'><div class='maintitle'>Ostatnie tematy</div>";
$dp23rmenu .= "<table class='ipbtable' cellspacing='1' width='18%'><tr><th width='100%' colspan='2'>Zobacz ostatnie tematy</th></tr>";
$this->ipsclass->DB->simple_construct( array(
'select' => 'tid, title, last_post',
'from' => 'topics',
'where' => 'forum_id not in (' . implode(',', $ZablokowaneFora ) . ') AND approved = 1',
'order' => 'start_date DESC',
'limit' => array( 0, $IleTematow )
) );
$this->ipsclass->DB->simple_exec();
while ($rowrm = $this->ipsclass->DB->fetch_row())
{
$dp23rmenu .= "<tr><td class='row1'><a href=\"{$this->ipsclass->vars['board_url']}/index.php?showtopic=".$rowrm['tid']."\">" . $this->ipsclass->txt_truncate($rowrm['title'], $TnijNazwe ) . "</a></td></tr>";
}
$dp23rmenu .= "<tr><td class='catend' colspan='2'><!-- no content --></td></tr></table></div>";
$dp23rmenu .= "<br /><div class='borderwrap'><div class='maintitle'>Ostatnie posty</div>";
$dp23rmenu .= "<table class='ipbtable' cellspacing='1' width='18%'><tr><th width='120px'>W temacie</th> <th width='65px'>Autor</th> <th width='65px'>Data</th></tr>";
$this->ipsclass->DB->simple_construct( array(
'select' => 'p.pid, p.author_name, p.post_date',
'from' => array( 'posts' => 'p'),
'where' => 'queued = 0',
'add_join' => array( 0 => array( 'select' => 't.tid, t.title, t.last_poster_id, t.starter_name',
'from' => array( 'topics' => 't' ),
'where' => 't.tid=p.topic_id AND approved = 1',
'type' => 'inner' ) ),
'order' => 'pid DESC',
'limit' => array( 0, $IlePostow )
) );
$this->ipsclass->DB->simple_exec();
while ($rowrm2 = $this->ipsclass->DB->fetch_row())
{
$data_rm = $this->ipsclass->get_date( $rowrm2['post_date'] , 'LONG', 0 );
$dp23rmenu .= "<tr><td class='row1'> <a href=\"{$this->ipsclass->vars['board_url']}/index.php?showtopic={$rowrm2['tid']}&view=findpost&p={$rowrm2['pid']}\">" . $this->ipsclass->txt_truncate($rowrm2['title'], $TnijNazwe ) . "</a></td> \n <td class='row2'><a href=\"{$this->ipsclass->vars['board_url']}/index.php?showuser=".$rowrm2['last_poster_id']."\">".$rowrm2['author_name']. "</a></td>\n <td class='row2'>{$data_rm}</td> </tr>";
}
$dp23rmenu .= "<tr><td class='catend' colspan='3'><!-- no content --></td></tr></table></div>";
$this->ipsclass->skin['_wrapper'] = str_replace( "<% DP23BAR %>" , $dp23rmenu, $this->ipsclass->skin['_wrapper']);
//-------------------KONIEC----------------------
// (DP23) right panel by DawPi
//-------------------KONIEC----------------------
Zwróć uwagę na tę część powyższego kodu:
#ustawienia start
$IleTematow = 10; //wpisz ile pokazywac ostatnich tematow
$IlePostow = 5; //wpisz ile pokazywac ostatnich postow
$ZablokowaneFora = array( 1, 2, 3 ); //wpisz ID for z ktorych nie powinno pobierac tematow i postow
$TnijNazwe = 35; //wpisz dlugosc powyzej ktorej linki beda zastapione przez 'Jakas dluga nazwa...'
W którym zawarte są moje komentarz pomagające ustawić odpowiednio tabelkę. Reszta kodu nie powinna być zmieniana - chyba, że wiesz co robisz i robisz to na własną odpowiedzialność.
Gotowe!
Autorem tutoriala jest DawPi. Zabrania się kopiowania, powielania. W szczególności na inne fora bez zgody autora.
Tutorial wykonany dla www.forum.invisionize.pl