PDA

Zobacz pełną wersję : Jak pobrać najnowsze posty z naszego forum na swoją stronę www?



admin
01-07-2006, 22:58
Witam

A więc tak:
Trzeba pobrać na swój komp ten niewielki (http://forum.bieszczady.info.pl/magpierss.rar) plik (spakowany rarem)
RozpakowaćPliki w archiwum są ułożone tak jak trzeba. Zachowując strukturę plików wysyłamy teraz to wszystko na swój serwer do katalogu głównego serwera - tak jak się rozpakowało razem z katalogiem (tam gdzie jest plik index).

W katalogu który rozpakowaliśmy i wysłaliśmy na serwer mamy coś takiego:

magpierss/
cache/
extlib/
rss_cache.inc
rss_fetch.inc
rss_parse.inc
rss_utils.inc
Teraz bardzo ważne jest aby podkatalogowi cache nadać uprawnienia - chmod 777
W katalogu tym zapisywane są dane które pobrane zostały z serwera forum przez co wszystko działa szybciej.

I teraz najważniejsze - wywołujemy na naszej stronie zajawki z forum - wklejąc poniższy kod:
(kod ten wymaga zaistalowanego php na serwerze, a plik w którym go wkleimy powinien również być parsowany przez php - najczęściej ma on rozrzeżenie .php)


<?
require_once('magpierss/rss_fetch.inc');
define('MAGPIE_CACHE_DIR', $_SERVER['DOCUMENT_ROOT'].'/magpierss/cache');
$url="http://forum.bieszczady.info.pl/external.php?type=rss2";

$num_items = 10;
$rss = fetch_rss($url);
$items = array_slice($rss->items, 0, $num_items);

foreach ( $items as $item )
{
$title = $item['title'];
$url = $item['link'];
echo "<a href=$url target=\"_blank\">$title</a><br>\n";
}
?>


Wyjaśnienie kodu:



define('MAGPIE_CACHE_DIR', $_SERVER['DOCUMENT_ROOT'].'/magpierss/cache');

Bardzo ważna linia. Jest to ścieżka bezwzględna do katalogu cache - tego w którym mają być przechowywane zapisane pliki które mają za zadanie przyspieszyć działanie całości. Jeśli pliki zostały wgrane do katalogu głownego serwera nic nie trzeba tu zmieniać.



$num_items = 10;

Tu ustawiamy ilość newsów na stronie (od 1 do 30)



echo "<a href=$url target=\"_blank\">$title</a><br>\n";

Tu możemy sformatować link który pojawia się na stronie. Pamiętać należy że tagi HTMLa dodawane w cudzysłowiach "" należy poprzedzić slashami tak jak wygląda to tutaj: target=\"_blank\".

Całość oparta jest na MagpieRSS (http://magpierss.sourceforge.net/) zatem resztę można sobie doczytać na stronie autora klasy.

Ajgor
06-07-2006, 18:25
Poniżej dodatkowe zmienne do wykorzystania przy formatowaniu wiadomości:

$title = $item['title'];
$url = $item['link'];
$poczatek = $item['description'];
$czas = date("j.m.Y", $item['date_timestamp']);
$kategoria = $item['category'];
$autor = ereg_replace("example@example.com ", "", $item['author']);

admin
15-02-2007, 22:09
W nowej wersji forum jest już możliwość ustawiania czasu updejtu kanału.
Ustawiłem teraz cache RSS na 1 minutę.

Jeszcze jedno.

W pliku magpierss o nazwie rss_cache trzeba zmienną


var $MAX_AGE = 3600;

ustawić na powiedzmy:


var $MAX_AGE = 600;

Co da cache RSS o czasie 10 minut na waszych lokalnych maszynach.

admin
01-03-2007, 10:14
Przy ostatniej aktualizacji forum przekodowałem bazę na UTF-8.
By pobierać najnowsze posty z RSSu w poprawnym kogowaniu należy:

linię wywołującą tytuły z forum:

echo "<a href=$url target=\"_blank\">$title</a><br>\n";

zmodyfikować na:



echo "<a href=$url target=\"_blank\">".iconv("UTF-8","ISO-8859-2",$title)."</a><br>\n";

Ajgor
11-10-2007, 14:47
Czy admin odbiera maile? Adminie moze zmieniłes maila? Wysyłałem ci na priv jakis czas temu i brak odpowiedzi... Jesli nie masz teraz czasu to daj znac ze odpowiesz pozniej, ale bede wiedzial ze dotarlo. A jesli nie dotarlo to przeslij mi info na jaki adres moge wyslac maila?

Pzdr!

admin
12-10-2007, 13:42
Odpowiedź poszła na @.

wojtek legionowo
12-10-2007, 15:20
cholera a nie można by tak po ludzku kroczek za kroczkiem nie zawsze mam córkę koło siebie
pozdrawiam