Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Wordpress RSS Feed Foto in PHP Seite zeigen

    wehg

    • Neu im Forum
    • Beiträge: 9
    • Geschlecht:
    Wordpress RSS Feed Foto in PHP Seite zeigen
    am: 01. Mai 2014, 00:04:56
    Hallo Forum,
    ich bins nochmal. Ich habe jetzt ein Problem mit der Darstellung eines Bildes in einer Seite. Aus einem Wordpress Blog soll der Inhalt in einer Normalen PHP-Seite angezeigt werden. Ich nutze dafür das "MagpieRSS - a simple RSS integration tool" und habe folgenden Code in die Seite eingebaut:

    Code: PHP  [Auswählen]
    <?php
    //Funktion um den Feed auszulesen
    function getrss($url){
         //Einbinden von MagpieRSS
         require_once 'getrss/rss_fetch.inc';

         $rss = fetch_rss($url);
         $i=1;

         //Durchloopen der einzelnen RSS Einträge
         foreach ($rss->items as $item ) {
              //Hier kann man auf die Anzahl Einträge begrenzen
              if ($i <= 5) {
                   //Auslesen des Titels
                   $title = $item[title];
                   //Auslesen der URL für den a-Tag
                   $url   = $item[link];
                   //Auslesen der Beschreibung
                   $desc   = $item[description];
              //Ausgabe des Feeds - kann natürlich beliebig formatiert werden über css etc.                    
              echo '<a class="lead muted" "href="'.$url.'" title="'.$title.'">'.$title.'</a><p>'.$pic .$desc.'</p>';

              //Mit der folgenden Zeile kann man das ganze Array mal ausgeben, um zu checken, welchen Felder noch ausgegeben werden können
              //print_r($item);
              }
              $i++;
         }
    }

    //Aufrufen der getrss Funktion - Übergabe der Feed URL
    getrss('http://www.MeineSeite.wordpress.com/?feed=rss');
    ?>

    Soweit funktioniert auch alles, nur wird kein Bild aus Wordpress angezeigt? Ich hatte schon gedacht dass das Auslesen nochmal ausdrücklich vorgenommen werden muss, ein .$pic ist ja vorhanden?! Nur komme ich da nicht weiter?

    Dann, ein vermutlich einfacheres Problem, werden Sonderzeichen nicht richtig angezeigt. Sie werden mit einer Raute, in der ein Fragezeichen ist, dargestellt. Im Rest der Seite werden Sonderzeichen aber normal dargestellt.

    Danke vorab für die Hilfe und allen einen schönen 1. Mai!

    Grüße
    wehg

    Linkback: https://www.modified-shop.org/forum/index.php?topic=30067.0

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #1 am: 01. Mai 2014, 14:51:55
    Ohne das Plugin zu kennen:
    $pic ist in der foreach-Schleife nicht definiert.

    Außerdem solltest du Anführungsstriche um Array-Keys machen, kann ansonsten zu Problemen führen.

    Also anstatt:

    Code: PHP  [Auswählen]
    $item[title]

    so:

    Code: PHP  [Auswählen]
    $item['title']

    Während du solche Implementationen machst würde ich auch das error_reporting für's Frontend aktivieren um eventuelle Fehlermeldungen zu sehen.

    Gruß,
    noRiddle

    Bonsai

    • Viel Schreiber
    • Beiträge: 4.127
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #2 am: 01. Mai 2014, 14:58:07
    Das Umlautproblem in anderem Zusammenhang ist hier gelöst:
    xtc_draw_input_field vs Umlaut

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #3 am: 01. Mai 2014, 17:09:30
    Das hat damit nur bedingt zu tun.
    Die Frage ist ob nicht Shop und Blog verschiedene Kodierungen haben,
    z.B. Shop iso-8859-15 und Blog utf-8.
    In dem Fall muß man mit den Daten noch etwas machen bevor du sie im shop ausgibst.

    Beispiel:
    Ist der Blog auf utf-8 der Shop aber auf iso-.... kannst du's so versuchen:

    Code: PHP  [Auswählen]
    $title = utf8_decode($item[title]);
    $url   = utf8_decode($item[link]);
    $desc   = utf8_decode($item[description]);

    Evtl. ist auch nötig:

    Code: PHP  [Auswählen]
    $title = utf8_decode(html_entity_decode($item[title],'',UTF-8));
    $url   = utf8_decode(html_entity_decode($item[link],'',UTF-8));
    $desc   = utf8_decode(html_entity_decode($item[description],'',UTF-8));

    Gruß,
    noRiddle

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #4 am: 01. Mai 2014, 17:41:15
    [...]
    Außerdem solltest du Anführungsstriche um Array-Keys machen, kann ansonsten zu Problemen führen.
    [...]

    Die fehlen hier jetzt auch, sowie beim dritten Parameter der html_entity_decode()-Funktion.

    Gruß
    Ronny

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #5 am: 01. Mai 2014, 17:47:01
    Uppps, einfach kopiert  :oops: :-D

    wehg

    • Neu im Forum
    • Beiträge: 9
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #6 am: 02. Mai 2014, 17:06:51
    Hallo Forum,
    danke für die Antworten. Ich habe die Dinge mal ausprobiert. Leider fehlt mir da ein wenig Fachwissen, denn es funktioniert noch nicht. Meine Lösung für das PIC:

    Code: PHP  [Auswählen]
    $pic   = $item['picture'];

    Ist das so OK? Vermutlich nicht?!

    Nach den eingaben für die Kodierung passiert folgendes:

    Versuch 1

    Code: PHP  [Auswählen]
    $title = utf8_decode($item['title']);

    Die Rauten um die Fragezeichen verschwinden. Die Fragezeichen bleiben"?"!

    Versuch 2

    Code: PHP  [Auswählen]
    $title = utf8_decode(html_entity_decode($item['title'],'',UTF-8));

    Es erscheint diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Warning: html_entity_decode() expects parameter 2 to be long, string given in /home/MeineSeite/index.php on line 241

    Ich habe noch eine Datei (getrss.php) gefunden in der dass hier steht:

    Code: PHP  [Auswählen]
    <?php

    require_once 'rss_fetch.inc';

    $url = 'http://www.MeineSeite.wordpress.com/?feed=rss';
    $rss = fetch_rss($url);

    $i=1;
    $ausgabe="<ul id=\"rsslist\">";
    foreach ($rss->items as $item ) {
            if ($i <= 3) {
                    $title = utf8_encode($item['title']);
                    $url   = $item['link'];
                    $pic   = $item['picture'];
                    $desc   = utf8_encode($item['description']);
                   
                    $ausgabe.= "<li><a href=$url title='$cat $title'>$cat $title</a></li>";
            }
           
            $i++;
    }
    $ausgabe.="</ul>";
    echo $ausgabe;
    ?>

    Die Zeile mit dem PIC habe ich eingefügt. Hat aber auch nichts gebracht...?

    Über eine kleine Hilfestellung wäre ich sehr dankbar.

    Und ein schönes Wochenende
    wehg

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #7 am: 02. Mai 2014, 17:11:01
    Lass dir doch mal das $item-Array ausgeben.

    Ansonsten muss da ein Dienstleister ran, weil alles andere nur Orakelei ist.

    Gruß
    Ronny

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #8 am: 03. Mai 2014, 02:08:14
    [...]
    Es erscheint diese Fehlermeldung:

    Code: PHP  [Auswählen]
    Warning: html_entity_decode() expects parameter 2 to be long, string given in /home/MeineSeite/index.php on line 241
    [...]

    Um den Fehler loszuwerden machst du es so:

    Code: PHP  [Auswählen]
    $title = utf8_decode(html_entity_decode($item['title'],ENT_XHTML,UTF-8));

    Der Rest ist, wie Webkiste schon richtig sagte, Orakelei...

    Gruß,
    noRiddle

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #9 am: 03. Mai 2014, 10:22:04
    Es muss aber heißen:

    Code: PHP  [Auswählen]
    $title = utf8_decode(html_entity_decode($item['title'],ENT_XHTML,'UTF-8'));

    Oder habe ich die Funktion falsch verstanden?

    Gruß
    Ronny

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.990
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #10 am: 03. Mai 2014, 14:32:54
    Upps, schon wieder Anführungsstriche vergessen. :datz:
    Danke für die Korrektur.

    Gruß,
    noRiddle

    wehg

    • Neu im Forum
    • Beiträge: 9
    • Geschlecht:
    Re: Wordpress RSS Feed Foto in PHP Seite zeigen
    Antwort #11 am: 05. Mai 2014, 14:31:09
    Danke liebes Forum für die Hilfe.
    Manchmal muss man sich (ich zumindest) zugestehen dass es alleine nicht geht. Habe die Arbeit abgegeben...

    Bis zum nächsten mal!

    Schöne Grüße
    wehg
    3 Antworten
    3386 Aufrufe
    09. April 2011, 13:12:12 von guest6750
    32 Antworten
    18105 Aufrufe
    22. Juni 2016, 17:54:34 von siiilke
    3 Antworten
    3660 Aufrufe
    06. September 2011, 12:28:14 von speedy