Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Fragen / Anregungen zur DP (https://www.delphipraxis.net/29-fragen-anregungen-zur-dp/)
-   -   Wie kann ich den Newsfeed der DP auf meiner HP einbinden? (https://www.delphipraxis.net/20142-wie-kann-ich-den-newsfeed-der-dp-auf-meiner-hp-einbinden.html)

Luckie 14. Apr 2004 03:15


Wie kann ich den Newsfeed der DP auf meiner HP einbinden?
 
Ja, das Topic sagt eigentlich schon alles. Leider habe ich da keinen Plan von. Wäre deswegen nett, wenn mir da jemand auf die Sprünge helfen könnte. Ich weiß nur so viel, dass ich wohl irgendwie die xml Datei verlinken muss - und dann weiter? :gruebel:

Edit: Habe jetzt das Beispiel für den DP Newsfeed gefunden. Nur scheint das nicht so ganz zu klappen:
Zitat:

Warning: main(./lastRSS.php): failed to open stream: No such file or directory in /var/www/l3s11195/html/test.php on line 17

Warning: main(): Failed opening './lastRSS.php' for inclusion (include_path='.:/usr/local/php/lib/php') in /var/www/l3s11195/html/test.php on line 17

Fatal error: Cannot instantiate non-existent class: lastrss in /var/www/l3s11195/html/test.php on line 20
Das ist das Ergebnis.

Dann habe ich noch diese Seite gefunden:
http://www.feedroll.com/rssviewer/in...source_id=8372
Das ginge auch, nur ist dann immer deren Copyright am Ende jedes Feeds und es funktioniert nur mit Javascript, was ich eigentlich vermeiden wollte.

So doch noch selber geschafft. ;) Mit diesem php-Script: http://www.2rss.com/software.php ging es prima. Und hier kann das Ergebnis bewundert werden: http://www.luckie-online.de/newsfeed.shtml . Die iframes sind allerding noch nicht das non-plus-ultra. :?

Daniel 14. Apr 2004 07:29

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
Schick. :-)

Bei Deinem ersten Beispiel konnte Dein Script die Datei 'lastRSS.php' nicht finden. Entweder lag sie im falschen Verzeichnis oder noch gar nicht auf Deinem Server.

Künfig wird das Script Parameter akzeptieren, um eine Variable Anzahl an Themen zu erhalten oder die Ausgabe zu filtern.

MathiasSimmack 14. Apr 2004 07:38

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
*hi hi*, is´ ja witzig. Ich habe etwas ähnliches gestern mit JavaScript gestern selbst gemacht. Daniel weiß es möglicherweise?! Das Skript sucht sich die 10 aktuellsten Beiträge der DP und bindet sich in die Navigation der "delphi-Sparte" auf meiner HP ein. Funktioniert aber nur im IE (wg. MS-XML-4), und darum werde ich mich sicher noch an eine eigene PHP-Lösung setzen. ;)
Code:
// this is for MS-IE users only!
if(navigator.userAgent.indexOf("MSIE") != -1) {

   var xmldoc = null;
   try {
      xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
   } catch(e) {
      xmldoc = null;
   }


   // MS-XML-4 is available
   if(xmldoc) {
      xmldoc.async = false;
      xmldoc.validateOnParse = false;
      xmldoc.resolveExternals = true;
      xmldoc.setProperty("SelectionNamespaces",
         "xmlns:ns='http://my.netscape.com/rdf/simple/0.9/'");


      // get this document's right table
      var rTable = null;
      var td = document.getElementsByTagName("td");
      for(var i=0;i<td.length;i++) {
         if(td[i].getAttribute("className")=="RightBar") {
            rTable = td[i];
         }
      }


      if(rTable) {
         rTable.insertAdjacentHTML("beforeEnd",
            "


</p>" +
            "<table border=\"0\" class=\"Navigation\"" +
               " id=\"insert_rdf_feed\" style=\"display:none;\">" +
            "<tr><th>Aktuelle Beitr&auml;ge in der DP</th></tr>" +
            "</table>");


         var xmldoc_loaded = false;
         try {
            xmldoc.load("http://www.delphipraxis.net/rdf");
            xmldoc_loaded = (xmldoc.parseError.errorCode==0);
         } catch(e) {
            xmldoc_loaded = false;
         }

         if(xmldoc_loaded) {
            var table = document.getElementById("insert_rdf_feed");

            var items = xmldoc.selectNodes("//ns:item");
            var len = (items.length>10)?10:items.length;
            for(var i=0;i<len;i++) {
               var title = items[i].selectSingleNode("ns:title");
               var link = items[i].selectSingleNode("ns:link");

               if(table && title && link) {
                  var tr = table.insertRow(i+1);
                  if(tr) {
                     var td = tr.insertCell(0);
                     if(td) {
                        td.innerHTML =
                           "<a href=\"" +
                           link.text +
                           "\" target=\"_blank\">" +
                           title.text + "</a>";
                     }
                  }
                  td = null;
                  tr = null;
               }

               link = null;
               title = null;
            }

            if(table) table.style.display = "";
         }

         rTable = null;
      }
   }
}

Luckie 14. Apr 2004 10:55

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
@Mathias: Bezüglich deiner E-mail an mich: Zusammen wird kaum gehen, da ich absolut kein PHP kann und im mOment auch nicht die zeit habe mich da rein zu arbeiten. Aber wenn du mir eine PHP Lösung machen willst, ich halte dich nicht ab. ;)

MathiasSimmack 14. Apr 2004 11:55

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
Zitat:

Zitat von Luckie
[...] da ich absolut kein PHP kann [...]

Ich auch nicht. Aber ich probier´ halt ein bisschen rum. Du weißt ja, ich bin (was solche Dinge angeht) eine Spielehansel.

Zitat:

Aber wenn du mir eine PHP Lösung machen willst, ich halte dich nicht ab. ;)
Das dachte ich mir. :)
Hast du irgendwelche Wünsche bezüglich des Designs? *kicher*

Phoenix 14. Apr 2004 12:07

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
Zitat:

Zitat von MathiasSimmack
Hast du irgendwelche Wünsche bezüglich des Designs? *kicher*

Er vielleicht nicht, aber ich *g*
Es sollte alles via CSS formtierbar sein.
Will heissen: Im Prinzip alles in eine Liste packen und der eine entsprechende CSS-Id geben. Alles andere ist dann Benutzerdefiniert :)

MathiasSimmack 14. Apr 2004 14:35

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
Offen gesagt, @Phoenix, das versteht sich von selbst.

Ich habe nur gerade mal ein Testskript zusammengeschraubt, das zwar keinen besonders schönen Output erzeugt, aber immerhin funktioniert. Für das Aussehen ist dann Luckie verantwortlich. Ist ja seine Seite. ;)

kiar 14. Apr 2004 17:21

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
hallo matthias,

auf firefox0.8 laufen sie auch, und sehen im gegensatz zu luckie's design richtig gut aus :mrgreen:

aber ich denke bei luckie wird das noch.

raik

MathiasSimmack 14. Apr 2004 17:41

Re: Wie kann ich den Newsfeed der DP auf meiner HP einbinden
 
Ich habe auf meiner Seite ja jetzt auch ein PHP-Skript laufen. (Muss übrigens mal bei Tino fragen, ob das DF auch ein Newsfeed hat. ;)). Das JavaScript von oben war eine schöne Spielerei, aber eben leider nur auf den IE begrenzt. Hier ist der PHP-Code von meiner Seite:
Code:
   function Ten_Good_Things_To_Show() {
      // get RDF
      $xmlString = implode("",file("http://www.delphipraxis.net/rdf"));
      if(!empty($xmlString)) {
         $xmldoc = xml_parser_create();
         xml_parse_into_struct($xmldoc,$xmlString,$vals,$idx);
         xml_parser_free($xmldoc);

         if(count($vals) > 0) {
            $type = 0;
            $feeds[] = array();
            $tmp[] = array();

            for($i=0;$i<count($vals);$i++) {
               if($vals[$i]["tag"]=="ITEM") {
                  if($vals[$i]["type"]=="open") $type=1;
                  if($vals[$i]["type"]=="close") {
                     $type = 0;
                     $feeds[] = $tmp;
                  }
               }

               if($type==1) {
                  switch($vals[$i]["tag"]) {
                     case "TITLE":
                        $tmp[0] = $vals[$i]["value"];
                        break;
                     case "LINK":
                        $tmp[1] = $vals[$i]["value"];
                        break;
                  }
               }
            }

            if(count($feeds) > 0) {
               echo "<table border=\"0\" class=\"Navigation\">\n";
               echo " <tr><th>Delphi-PRAXiS</th></tr>\n";

               $len=(count($feeds)>5)?5:count($feeds);

               for($i=0;$i<$len;$i++) {
                  if(!empty($feeds[$i][0]) && !empty($feeds[$i][1])) {
                     echo " <tr><td><a href=\"".$feeds[$i][1].
                        "\" target=\"_blank\">".$feeds[$i][0].
                        "</a></td></tr>\n";
                  }
               }

               echo "</table>\n";
            }
         }
      }
   }
(wird nach der Navigation aufgerufen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz