Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Dodatkowa tabela po prawej stronie forum


Rekomendowane odpowiedzi

  • Manager
Opublikowano

Dodanie takiej tabeli należy podzielić na dwa etapy:

  1. edycja skina ( bitów )
  2. 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:

dp23_boczna_tabela.png

  • 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! :blush:

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

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

  • Odpowiedzi 50
  • Dodano
  • Ostatniej odpowiedzi

Top użytkownicy w tym temacie

Top użytkownicy w tym temacie

  • 2 miesiące temu...
Opublikowano (edytowane)

Witam

Mam mały problem, otóż po wrzuceniu kodu do pliku class_display i wgraniu go na serwer, forum zgłasza następujący komunikat:

Parse error: syntax error, unexpected '(', expecting '}' in /home/virtualki/38330/forum/sources/classes/class_display.php on line 390

Błąd ten jest wynikiem jest wynikiem tego kodu (od razu zaznaczam, że jestem zielony w php...):

$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>";

oraz

$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>";
Edytowane przez whan86
  • Manager
Opublikowano

Spróbuj zamienić to:

$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>";

Na:

$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>";

I to:

$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>";

Na:

$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>";

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

A mi się marzy tabela po lewej.

Pierwsza pozycja to pierdolety z panela kontrolnego.

Druga pozycja to dowolnie wybrana aktualna ankieta z forum.

Pozycja trzecia "własna treść" np. buttony, bannerki, linki textowe ^_^

  • 3 tygodnie później...
  • Manager
Opublikowano

primo: to jak to chcesz mieć w końcu? Na forum czy na oddzielnej stronie? Bo teraz nie wiem czy pytasz o to w nawiązaniu do swojego poprzedniego tematu czy już nie.

Kolejność zmieniasz w pliku. Rozciągnięcie - ja nie wiem, to naprawdę jakieś przesilenie wiosenne. Nie tak dawno kris2005a założył temat o tym i tam mu pomagałem.

Panowie - naprawdę jest tak źle? :unsure:

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
primo: to jak to chcesz mieć w końcu? Na forum czy na oddzielnej stronie? Bo teraz nie wiem czy pytasz o to w nawiązaniu do swojego poprzedniego tematu czy już nie.

Kolejność zmieniasz w pliku. Rozciągnięcie - ja nie wiem, to naprawdę jakieś przesilenie wiosenne. Nie tak dawno kris2005a założył temat o tym i tam mu pomagałem.

Panowie - naprawdę jest tak źle? :unsure:

UPS, to ja już nic się nie odzywam.

baner_dolny.png
  • Manager
Opublikowano

Nie chodzi o nieodzywanie bo nie taka jest idea forum tylko się zastanawiam, zakładasz nowy temat, podaję Ci link do tego, to Ty piszesz, że nie o to chodzi, za chwilę piszesz tutaj i pytasz co i jak. Chyba rozumiesz, że mogę nie wiedzieć o co Ci chodzi?

Może umówmy się - założyłeś temacik to tam mi napisz co Ty byś chciał. :unsure:

P.s. podtrzymuję myśl, że ktoś inny pisze z Twojego konta. ;)

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
Nie chodzi o nieodzywanie bo nie taka jest idea forum tylko się zastanawiam, zakładasz nowy temat, podaję Ci link do tego, to Ty piszesz, że nie o to chodzi, za chwilę piszesz tutaj i pytasz co i jak. Chyba rozumiesz, że mogę nie wiedzieć o co Ci chodzi?

Może umówmy się - założyłeś temacik to tam mi napisz co Ty byś chciał. :unsure:

P.s. podtrzymuję myśl, że ktoś inny pisze z Twojego konta. ;)

Ok. Wielce spodobała mi się ta modyfikacja i postanowiłem ją u siebie odpalić i stąd pytanie w tym temacie co do tego, bo narazie uruchamiam to na forum.

Czy to ten fragment odpowidada z wpisy Ostatnie posty:

$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']);

To jego powinienem dać na sam początek?

Ad. P.S. - 4 tydzień nie ruszam się z domu. Brak świeżego powietrza i 16h dziennie przy kompie przestają mi służyć. Wybacz mi moje potknięcia.

baner_dolny.png
  • Manager
Opublikowano

Tylko ten fragment:

$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>";

}

Reszta jest odpowiedzialna za wyświetlanie na forum.. :unsure:

Tylko pamiętaj o zmianie:

$dp23rmenu .= "<br /><div class='borderwrap'><div class='maintitle'>Ostatnie posty</div>";

Na:

$dp23rmenu = "<br /><div class='borderwrap'><div class='maintitle'>Ostatnie posty</div>";

I odpowiednio odwrotnie przy tematach.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
Przy widoku tematu bardziej polecam moduł 'Podobne tematy'.

Choć może ja nie wiem o co chodzi - w którym dokładnie miejscu byś to chciał?

Dokładnie w tym samym co jest i na stronie głównej, ale to tylko niewinne pytanie, bo może i masz rację, że jest to kompletnie zbędne.

baner_dolny.png
  • Manager
Opublikowano

Hm, wiesz, mogę Ci napisać, jak zrobić by było na każdej stronie, ale zauważ, że to dodatkowe dwa zapytania do każdego otwarcia jakiejkolwiek strony. Chcesz bardziej obciążać maszynę?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano
Hm, wiesz, mogę Ci napisać, jak zrobić by było na każdej stronie, ale zauważ, że to dodatkowe dwa zapytania do każdego otwarcia jakiejkolwiek strony. Chcesz bardziej obciążać maszynę?

I tym mnie przekonałeś :unsure:

Dygresja.

Dziś rano patrzę w staty. Patrzę a moja baza danych to 280MB!! Szok do kwadratu. Zaczynam szukać, patrzeć, sprawdzać stare serwisy i odnajduję. Czyszczę w aniatualnym serwisie spam, a tu 100MB mniej ;)

pozostanę przy tym co jest.

Dzięki.

baner_dolny.png
  • Manager
Opublikowano

Proszę.

Odnośnie czyszczenia bazki to jest dość fajny tutorial w dziale z tutorialami. Na co zwrócić uwagę etc. Spójrz na to przy wolnej chwili.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

  • 2 miesiące temu...
Opublikowano

A dało by się tą tabele umiescić na dole forum tak jak jest w vB ?

jdv1239301262a.jpg

Opublikowano (edytowane)
A dało by się tą tabele umiescić na dole forum tak jak jest w vB ?

Gdzie na dole ? Chodzi ci o to by pasek nie konczyl sie Przed Oknem ze statystykami ?

Jeżeli o to ci chodzi to poprostu ten kod :

</td>
<td valign="top" width='250px'>
<% DP23BAR %>
</td>
</tr>
</table>

zamiast dawać na początku w Board Index >> stats_header daj na samym koncu w Board Index >> Stats_footer ;)

EDIT: Sorki dopiero teraz zrozumialem dokladnie o co ci chodzi - Skasujcie ten post.

Edytowane przez C4M3L3ON

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.