Ostatnio na forum

Forum przeznaczone dla osób poszukujących modyfikacji do phpBB 3.0.x oraz ich polskich lokalizacji.
Do administracji

Ostatnio na forum

Post autor: Do administracji » 24 lutego 2009, 22:18

Przejrzałem chyba wszystko co macie do pobrania i nie znalazłem moda typu "ostatnio na forum" do phpbb3.
Widzę, że macie to na głównej, czy to jakaś tajemnica, bo jeśli nie to jestem bardzo zainteresowany.

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Ostatnio na forum

Post autor: daroPL » 25 lutego 2009, 09:25

Przenoszę do Poszukiwania.

Tutaj znajdziesz odpowiednie kody: http://www.phpbb.com/community/viewtopi ... 5#p7126845

pit
Posty: 1580
Rejestracja: 25 lutego 2009, 18:15

Re: Ostatnio na forum

Post autor: pit » 25 lutego 2009, 18:31

Rozumiem, że mam ten pierwszy kod wstawić do strony na której chcę mieć aktywne tematy, ale mam z tym - drobny zapewne - problem.
Strona to xhtml zapisany z rozszerzeniem .php wiec jak mam to zrobić, dodać znacznik <?> czy na żywca skopiować i wkleić w dowolne miejsce? Sorry ale nauka php dopiero przede mną.
Napisz proszę w prostych słowach jak to zrobić bym Cię dłużej nie dręczył.
Dzięki

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Ostatnio na forum

Post autor: daroPL » 26 lutego 2009, 15:12

Musisz skorzystać z pliku .php.

pit
Posty: 1580
Rejestracja: 25 lutego 2009, 18:15

Re: Ostatnio na forum

Post autor: pit » 26 lutego 2009, 17:49

daroPL pisze:Musisz skorzystać z pliku .php.
Nie no, teraz wszystko jasne, na pewno sobie już poradzę.
Dzięki, bardzo mi pomogłeś.

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Ostatnio na forum

Post autor: daroPL » 26 lutego 2009, 18:45

Wklej to tam gdzie chcesz aby się wyświetlało między znaczniki <?php ?> w pliku .php.

pit
Posty: 1580
Rejestracja: 25 lutego 2009, 18:15

Re: Ostatnio na forum

Post autor: pit » 26 lutego 2009, 19:10

Tak też robię, kombinuję na różne sposoby ale ciągle pyskuje -

Kod: Zaznacz cały

Fatal error: Call to a member function on a non-object in /var/www/sites/... on line 13
a ta 13 linia to -

Kod: Zaznacz cały

$result = $db->sql_query_limit($sql, $number_of_topics);

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Ostatnio na forum

Post autor: daroPL » 27 lutego 2009, 09:39

Musisz skorzystać z tego drugiego kodu podanego na wyżej wskazanej stronie. Ten pierwszy operuje na klasach i funkcjach phpBB3, a ten drugi na PHP. Oczywiście musisz gdzieś na początku strony połączyć się z bazą danych phpBB3 przez polecenie mysql_connect() oraz mysql_select_db(), np.:

Kod: Zaznacz cały

<?php

$link = mysql_connect('localhost', 'uzytkownik', 'haslo');
if (!$link) {
    die('Nie połączono : ' . mysql_error());
}

// Ustaw foo jako aktualną bazę danych
$db_selected = mysql_select_db('foo', $link);
if (!$db_selected) {
    die ('Nie można ustawić foo : ' . mysql_error());
}
?>

pit
Posty: 1580
Rejestracja: 25 lutego 2009, 18:15

Re: Ostatnio na forum

Post autor: pit » 27 lutego 2009, 19:38

Musisz skorzystać z tego drugiego kodu
Nadal ten sam błąd.
Chyba nie tędy droga, jak już wspominałem nie znam php ale treść błedu wskazuje, że próbuję się odwoływać do metody zmiennej, która nie jest obiektem... chyba.
Na mojego czuja coś jest nie tak w tej linii -
$result = $db->sql_query_limit($sql, $number_of_topics);

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Ostatnio na forum

Post autor: daroPL » 28 lutego 2009, 18:33

Popraw funkcję na:

Kod: Zaznacz cały

    function get_last_topics($number_of_topics = 10)
    {
        $sql = 'SELECT f.forum_name, t.forum_id, t.topic_id, t.topic_time, t.topic_type, t.topic_title
            FROM ' . TOPICS_TABLE . ' t, ' . POSTS_TABLE . ' p, ' . FORUMS_TABLE . " f
            WHERE t.topic_first_post_id = p.post_id
                AND t.topic_status <> 2 
                AND t.topic_approved = 1
                AND f.forum_id = t.forum_id
            ORDER BY t.topic_time DESC LIMIT $number_of_topics";
        $result = mysql_query($sql);

        echo '<ul>';
        
        while ($row = mysql_fetch_row($result))
        {
                echo '<li><a href="' . append_sid("viewtopic.$phpEx", "f={$row['forum_id']}&t={$row['topic_id']}") . '">' . ((strlen($row['topic_title']) > 25) ? substr($row['topic_title'], 0, 25) . '...' : $row['topic_title']) . '</a></li>';
        }
        
        echo '</ul>';
    }

pit
Posty: 1580
Rejestracja: 25 lutego 2009, 18:15

Re: Ostatnio na forum

Post autor: pit » 28 lutego 2009, 22:33

Jest pewien postęp, nie ma już błędu, ale wszystko co wypisuje to jeden link, który wygląda tak -

Kod: Zaznacz cały

{topics.TITLE}

Zablokowany

Wróć do „Poszukiwania”