[MagpieRSS] Parser haalt niet bodytekst, maar summary op

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • hello_mcfly
  • Registratie: December 2008
  • Laatst online: 16-05 19:35
Mijn blog doet het sinds een tijdje niet meer. De reden: de RSS-parser MagpieRSS grijpt uit mijn [url="feed://robindewever.nl/blog/?feed=rss2"]feed[/url] (die ik met Wordpress maak en die vervolgens in mijn site wordt geparsed) de 'summary' en niet de bodytekst.

Dat levert op mijn blogpagina twee flinke nadelen op: ik kan alleen korte stukjes tekst publiceren en links zijn niet zichtbaar. Op de homepagina, waar altijd de eerste blogpost werd gepubliceerd, verschijnt er helemaal niks.

Ik vermoed dat ik ergens in Magpie's bestanden moet aangeven dat ik niet de summary, maar de bodytekst van de blogposts wil laten zien, maar ik kan maar niet vinden waar ik dat moet aangeven.

Heeft iemand een idee?

Ben trouwens niet echt een scriptkiddie, dus ik zal het misschien niet altijd direct begrijpen. Alvast sorry.

Acties:
  • 0 Henk 'm!

  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02 09:46

DoubleJ

Een ninjja!

Deel je php-code eventjes met ons :)

Sowieso is je werkwijze niet heel praktisch. Je zou beter je huidige ontwerp over wordpress kunnen gieten en je hele website daar in beheren.

Publish je het wel goed vanuit wordpress? Zie 4e blok.

Afbeeldingslocatie: http://www.dubbelj.nl/files/wp_rss.png

[ Voor 89% gewijzigd door DoubleJ op 14-12-2008 19:44 ]


Acties:
  • 0 Henk 'm!

  • hello_mcfly
  • Registratie: December 2008
  • Laatst online: 16-05 19:35
Is dat niet gruwelijk omslachtig, om de front-end van mijn site aan de back-end van Wordpress vast te plakken? If not, dan moet ik dat zeker doen.

Mijn Wordpress staat wel goed ingesteld, dat heb ik al gecheckt.
Welke code wil je dat ik deel? Hier de parse-regels uit de pagina blog.php:

<?
//define('MAGPIE_CACHE_DIR', '/tmp/magpie_cache');

require_once('magpierss/rss_fetch.inc');
$url='http://robindewever.nl/blog/?feed=rss2';
//$url = $_GET['url'];
$rss = fetch_rss( $url );

//echo "Channel Title: " . $rss->channel['title'] . "<p>";
//echo "<ul>";
///foreach ($rss->items as $item) {
// $href = $item['link'];
// $title = $item['title'];
// echo "<li><a href=$href>$title</a></li>";
//}
//echo "</ul>";

foreach($rss->items as $item){

//$titel = utf8_decode($item['title']);
$titel = $item['title'];
//$bericht = utf8_decode($item['description']);
$bericht = $item['description'];
$date = $item['pubdate'];

if(substr($date,8,3)=='Jan') {
$maand='01';
}
if(substr($date,8,3)=='Feb') {
$maand='02';
}
if(substr($date,8,3)=='Mar') {
$maand='03';
}
if(substr($date,8,3)=='Apr') {
$maand='04';
}
if(substr($date,8,3)=='May') {
$maand='05';
}
if(substr($date,8,3)=='Jun') {
$maand='06';
}
if(substr($date,8,3)=='Jul') {
$maand='07';
}
if(substr($date,8,3)=='Aug') {
$maand='08';
}
if(substr($date,8,3)=='Sep') {
$maand='09';
}
if(substr($date,8,3)=='Oct') {
$maand='10';
}
if(substr($date,8,3)=='Nov') {
$maand='11';
}
if(substr($date,8,3)=='Dec') {
$maand='12';
}
$datum = substr($date,5,2).".".$maand.".".substr($date,14,2);
?>

  • DoubleJ
  • Registratie: December 2002
  • Laatst online: 07-02 09:46

DoubleJ

Een ninjja!

Je haalt nu de description op, probeer de content eens op te halen.
XML:
1
2
3
4
<guid isPermaLink="false">http://robindewever.nl/blog/?p=11</guid>
        <description><![CDATA[Vanaf vandaag in de kiosk: de nieuwe Computer Idee, met een heuse workshop om te sms'en vanuit uw mailbox. Dat scheelt tijd, geld en pijn in de vingers, dus u zou gek zijn als u er niet ook aan zou beginnen. Mijn debuut in Trouw - eind augustus - is trouwens, ondanks de comateuze toestand van mijn blog, wel hier op de site verschenen.]]></description>
            <content:encoded><![CDATA[<p>Vanaf vandaag in de kiosk: <a href="http://www.computeridee.nl/blad.jsp?nr=21&amp;jaar=2008" target="_blank">de nieuwe Computer Idee</a>, met een heuse workshop om te sms&#8217;en vanuit uw mailbox. Dat scheelt tijd, geld en pijn in de vingers, dus u zou gek zijn als u er niet ook aan zou beginnen. <a href="http://www.robindewever.nl/archief/trouw_studios.html" target="_blank">Mijn debuut in Trouw</a> - eind augustus - is trouwens, ondanks de comateuze toestand van mijn blog, wel hier op de site verschenen.</p>
]]></content:encoded>



Zet je code trouwens ff tussen [code] tags, is een stuk overzichtelijker

  • hello_mcfly
  • Registratie: December 2008
  • Laatst online: 16-05 19:35
Yeah! Na wat frummelen kwam ik erachter dat 'description' 'atom_content' moest zijn. Toen ik dat veranderd had, werkte alles gelijk weer prima. Heb wel even Wordpress opnieuw geïnstalleerd, maar dat was zoveel werk niet.

Vreemd is wel dat de feed op www.robindewever.nl/index.php (onder 'Robin blogt') nog steeds niet te zien is.

Zie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <? 
                require_once('magpierss/rss_fetch.inc');
                $url='feed://robindewever.nl/blog/?feed=rss2';
                $num_items = 1;
                $rss = fetch_rss( $url );
                
                $items = array_slice($rss->items, 0, $num_items);
                $bericht = $items[0]['atom_content'];
                //foreach($rss->items as $item){
                    //for($i = 0;$i < 1;$i++){
                        //$bericht = $item['description'];
                    //}
                //}
                //for($i = 0;$i < 1;$i++){
                //  $bericht = utf8_decode($values[$index['DESCRIPTION'][$i+1]]['value']);
                //}
                print(shorttxt($bericht, 50)); ?>