RSS Feed aus Contentpart News
RSS Feed aus Contentpart News
Guten Morgen.
Nach längerer Abwesenheit (hatte viel mit xt:Commerce zu tun) melde ich mich gleich mit einer Frage zurück:
Ist es möglich aus dem Contentpart News einen RSS-Feed zu generieren!? Hat es schonmal jemand gemacht? Habe da großes Interesse dran.
Liebe Grüße
Nach längerer Abwesenheit (hatte viel mit xt:Commerce zu tun) melde ich mich gleich mit einer Frage zurück:
Ist es möglich aus dem Contentpart News einen RSS-Feed zu generieren!? Hat es schonmal jemand gemacht? Habe da großes Interesse dran.
Liebe Grüße
There are 10 types of people in the world: Those who understand binary and those who don't
Re: RSS Feed aus Contentpart News
Okay ich habe eine Möglichkeit gefunden. Zwar mit nem "externen" Script, aber funzt trotzdem subba
Wenn Interesse besteht, poste ich es noch...
Greetz Marceau
Wenn Interesse besteht, poste ich es noch...
Greetz Marceau
There are 10 types of people in the world: Those who understand binary and those who don't
Re: RSS Feed aus Contentpart News
Bitte posten und wenn möglich eine kleine Erklärung.
Knut
Knut
>> HowTo | DOCU | FAQ | TEMPLATES/DOCS << ( SITE )
Re: RSS Feed aus Contentpart News
Okay dann versuche ich das Ganze mal. Ich hoffe es ist verständlich und es kommt rüber.
Im Grunde genommen wird in die index.php eine Datei inkludiert so um Zeile 60:
In dieser rss.php wird eine Verbindung zur DB aufgebaut und gewünschte Tabellen abgefragt, und die feed-Datei erstellt bzw immer wieder aktualisiert.
rss.php
Der Ordner, wo die news.xml liegen soll braucht unbedingt Schreibrechte, sonst bekommt ihr nen Fehler ausgespuckt.
Jetzt müsst ihr in eurem Template eigentlich nur noch in den Kopfbereich folgenden Tag schreiben, damit das Feed-Symbol in der Browser-Adresszeile angezeigt wird:
Dann sollte es eigtl funktionieren...
Liebe Grüße und viel Spass
Marco
Im Grunde genommen wird in die index.php eine Datei inkludiert so um Zeile 60:
Code: Select all
// Einfügen, damit die Feeddatei immer wieder aktualisiert wird
require('Verzeichnis/rss.php');
rss.php
Code: Select all
<?
function mkRSS () {
////KONFIGURATION (diese Variablen müssen angepasst werden):
$dbServer = "localhost"; // meist localhost)
$dbName = ""; // name der Datenbank
$dbUser = ""; // Datenbankbenutzer
$dbPassword = ""; // Passwort
$tableName = "phpwcms_content"; // Tabellenname der Tab., aus der die Daten entnommen werden
//$lines="10"; // Anzahl anzuzeigender Datensätze
$filename = "news"; // zum Beispiel news !! ohne Extension !!
$title = "News"; // Titel des RSS-Feeds
$description = "Newsfeed"; //Was zeigt das RSS-Feed?
$language="de"; //Sprachkürzel
$link="http://www.domain.de"; //Link
$itemTitle = "cnt_title"; //Spaltenname aus der DB, wo der Titel des einzelnen Items steht
$itemText = "cnt_teasertext"; //Spaltenname aus der DB, wo der Text des einzelnen Items steht
// das SQL-Statement muss an die eigenen Erfordernisse angepasst werden
$sql="SELECT *
FROM `phpwcms_content`
WHERE cnt_module = 'news'
AND cnt_status = '1';";
// Bitte beachten, dass in der Zeile 45 noch die Variable $itemLink angepasst werden muss.
// ENDE KONFIGURATION
// DOCUMENT_ROOT wird automatisch ermittelt
$siteRoot = substr_replace ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"],
"",strrpos ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"], "/")+1);
//Erzeugen des RSS-Inhaltes:
$rssHeader="<?xml version='1.0' encoding='ISO-8859-1' ?>
<rss version='2.0'>
<channel>
<title>".$title."</title>
<description>".$description."</description>
<language>".$language."</language>
<link>$link</link>
";
$rssFooter="</channel>
</rss>";
$dbLink = mysql_connect ($dbServer,$dbUser,$dbPassword) or die (mysql_error());
$setdb = mysql_select_db($dbName,$dbLink) or die (mysql_error());
$result=mysql_query($sql,$dbLink) or die(mysql_error());
$content=$rssHeader;
while($row=mysql_fetch_array($result)){
$row[$itemText] = str_replace("ü","ü",$row[$itemText]); // ersetzt im Feed ü durch ü
$row[$itemText] = str_replace("ü","ü",$row[$itemText]);
$row[$itemText] = str_replace("ö","ö",$row[$itemText]);
$row[$itemText] = str_replace("ä","ä",$row[$itemText]);
$row[$itemText] = str_replace("ä","ä",$row[$itemText]);
$row[$itemText] = str_replace("ß","ss",$row[$itemText]);
$row[$itemText] = str_replace("<p>","",$row[$itemText]);
$row[$itemText] = str_replace("</p>","",$row[$itemText]);
//$row[$itemText] = str_replace(" />",">",$row[$itemText]);
//$row[$itemText] = str_replace("<br>","",$row[$itemText]);
//$row[$itemText] = str_replace("</div>","",$row[$itemText]);
//$row[$itemText] = preg_replace("(<img src=|border=|width=|height=|style=|alt=|title= >)","",$row[$itemText]);
$titel=substr ($row[$itemTitle], 0, 150); //$row anpassen! auch in der nächsten Zeile
$text=substr ($row[$itemText], 0, 1000); //der Text darf höchstens 500 Zeichen lang sein
$itemLink="http://www.domain.de"; //dies ist ein Link, der DIREKT diesen Punkt auf der Homepage öffnet.
//Er muss entsprechend deines Scripts dynamisch gebildet werden.
$content.="<item>
<title>".$titel."</title>
<description><![CDATA[".$text."]]></description>
<link>$itemLink</link>
</item>
";
}
$content.=$rssFooter;
// Datei wird geschrieben
$fh=fopen ($siteRoot.$filename.".rss", "w");
fputs ( $fh, $content);
fclose($fh);
// Datei wird umbenannt
rename ($siteRoot.$filename.".rss", $siteRoot.$filename.".xml");
return;
}
mkRSS();
?>
Jetzt müsst ihr in eurem Template eigentlich nur noch in den Kopfbereich folgenden Tag schreiben, damit das Feed-Symbol in der Browser-Adresszeile angezeigt wird:
Code: Select all
<link rel="alternate" type="application/rss+xml" title="Title" href="/news.xml" />
Liebe Grüße und viel Spass
Marco
There are 10 types of people in the world: Those who understand binary and those who don't
Re: RSS Feed aus Contentpart News
Hallo zusammen, super sache dies in einem eignen Feed zu presentieren.
Wenn ich dies bei der aktuellen Version von phpWCMS mache geht da gar nichts mehr.
Ist dies so oder mache ich generell einen Anwendungs Fehler?
Danke Gruss M
Wenn ich dies bei der aktuellen Version von phpWCMS mache geht da gar nichts mehr.
Ist dies so oder mache ich generell einen Anwendungs Fehler?
Danke Gruss M
Re: RSS Feed aus Contentpart News
Danke, funktioniert auch mit der neuesten Version wunderbar.
1. Datenbankdaten eingeben
2. Filename spezifizieren/ ggf. unterordner angeben: "content/rss/news"
3. der angesprochenene ordner muss beschreibbar sein!
3. php datei testweise aufrufen oder den aufruf in die iqndex php schreiben
4. die xml datei ist nun mit allen daten erstellt
Wenn ihr diese Version nehmt, braucht ihr nichts anzupassen, es sei denn ihr wollt den Titel des Feeds ändern.
1. Datenbankdaten eingeben
2. Filename spezifizieren/ ggf. unterordner angeben: "content/rss/news"
3. der angesprochenene ordner muss beschreibbar sein!
3. php datei testweise aufrufen oder den aufruf in die iqndex php schreiben
4. die xml datei ist nun mit allen daten erstellt
Wenn ihr diese Version nehmt, braucht ihr nichts anzupassen, es sei denn ihr wollt den Titel des Feeds ändern.
Code: Select all
<?
function mkRSS () {
require_once ('config/phpwcms/conf.inc.php');
////KONFIGURATION (diese Variablen müssen angepasst werden):
$dbServer = $phpwcms['db_host']; // meist localhost)
$dbName = $phpwcms['db_table']; // name der Datenbank
$dbUser = $phpwcms['db_user']; // Datenbankbenutzer
$dbPassword = $phpwcms['db_pass']; // Passwort
$tableName = "phpwcms_content"; // Tabellenname der Tab., aus der die Daten entnommen werden
//$lines="10"; // Anzahl anzuzeigender Datensätze
$filename = "content/rss/news"; // zum Beispiel news !! ohne Extension !!
$title = "News"; // Titel des RSS-Feeds
$description = "Newsfeed - ".$_SERVER['SERVER_NAME']; //Was zeigt das RSS-Feed?
$language= $phpwcms['default_lang']; //Sprachkürzel
$link = $phpwcms['site']; //Link
$itemTitle = "cnt_title"; //Spaltenname aus der DB, wo der Titel des einzelnen Items steht
$itemText = "cnt_teasertext"; //Spaltenname aus der DB, wo der Text des einzelnen Items steht
// das SQL-Statement muss an die eigenen Erfordernisse angepasst werden
$sql="SELECT *
FROM `phpwcms_content`
WHERE cnt_module = 'news'
AND cnt_status = '1';";
// Bitte beachten, dass in der Zeile 45 noch die Variable $itemLink angepasst werden muss.
// ENDE KONFIGURATION
// DOCUMENT_ROOT wird automatisch ermittelt
$siteRoot = substr_replace ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"],
"",strrpos ($_SERVER[DOCUMENT_ROOT].$_SERVER["PHP_SELF"], "/")+1);
//Erzeugen des RSS-Inhaltes:
$rssHeader="<?xml version='1.0' encoding='ISO-8859-1' ?>
<rss version='2.0'>
<channel>
<title>".$title."</title>
<description>".$description."</description>
<language>".$language."</language>
<link>$link</link>
";
$rssFooter="</channel>
</rss>";
$dbLink = mysql_connect ($dbServer,$dbUser,$dbPassword) or die (mysql_error());
$setdb = mysql_select_db($dbName,$dbLink) or die (mysql_error());
$result=mysql_query($sql,$dbLink) or die(mysql_error());
$content=$rssHeader;
while($row=mysql_fetch_array($result)){
$row[$itemText] = str_replace("ü","ü",$row[$itemText]); // ersetzt im Feed ü durch ü
$row[$itemText] = str_replace("ü","ü",$row[$itemText]);
$row[$itemText] = str_replace("ö","ö",$row[$itemText]);
$row[$itemText] = str_replace("ä","ä",$row[$itemText]);
$row[$itemText] = str_replace("ä","ä",$row[$itemText]);
$row[$itemText] = str_replace("ß","ss",$row[$itemText]);
$row[$itemText] = str_replace("<p>","",$row[$itemText]);
$row[$itemText] = str_replace("</p>","",$row[$itemText]);
//$row[$itemText] = str_replace(" />",">",$row[$itemText]);
//$row[$itemText] = str_replace("<br>","",$row[$itemText]);
//$row[$itemText] = str_replace("</div>","",$row[$itemText]);
//$row[$itemText] = preg_replace("(<img src=|border=|width=|height=|style=|alt=|title= >)","",$row[$itemText]);
$titel=substr ($row[$itemTitle], 0, 150); //$row anpassen! auch in der nächsten Zeile
$text=substr ($row[$itemText], 0, 1000); //der Text darf höchstens 500 Zeichen lang sein
$itemLink= $phpwcms['site']; //dies ist ein Link, der DIREKT diesen Punkt auf der Homepage öffnet.
//Er muss entsprechend deines Scripts dynamisch gebildet werden.
$content.="<item>
<title>".$titel."</title>
<description><![CDATA[".$text."]]></description>
<link>$itemLink</link>
</item>
";
}
$content.=$rssFooter;
// Datei wird geschrieben
$fh=fopen ($siteRoot.$filename.".rss", "w");
fputs ( $fh, $content);
fclose($fh);
// Datei wird umbenannt
rename ($siteRoot.$filename.".rss", $siteRoot.$filename.".xml");
return;
}
mkRSS();
?>
2008
Re: RSS Feed aus Contentpart News
Habe eine neue Version gestellt, kann gerne auch in die Doku übertragen werden, weitere Version packe ich immer auch auf die folgende Seite, da ich dort und bei Git die Dateien pflegen werde:
http://www.enym.com/artikel/20121211-54 ... pwcms.html
http://www.enym.com/artikel/20121211-54 ... pwcms.html
2008
Re: RSS Feed aus Contentpart News
danke phalancs. ich übernehme den übertrag mit verweis auf deine webseite im wiki.
nml1
nml1
Re: RSS Feed aus Contentpart News
Gibt's hier schon eine Änderung, sodass das mittlerweile auch in der feed-conf einstellbar ist, um die News mit in den normalen feed einfließen lassen zu können?
It's mostly all about maintaining two or three customer's sites Still supporter for the band Mykket Morton. Visit Mykket Morton on FB. Listen Mykket Morton and live videos on youtube.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Now building a venue for young artists to get wet on stage, rehearsal rooms, a studio, a guitar shop - yes I'm going to build some guitars.
Re: RSS Feed aus Contentpart News
nö, aber sicher geplant :o
Re: RSS Feed aus Contentpart News
Hallo
ich möchte aus dem content part news einen rss-feed erzeugen. Dazu habe ich hier http://www.enym.com/rss-feed-fur-news-items-in-phpwcms/ das neuste Script geholt. Leider habe ich es nicht geschafft.
Ich habe das script in den root Ordner kopiert und die Configuration so angepasst:
In der Index.php habe ich auf Zeile 69 folgenden Eintrag vorgenommen:
Offenbar wird das Script aufgerufen, ich erhalte beim Aufruf der Seite nämlich Fehlermeldungen. Zum Beispiel:
Kann da jemand weiterhelfen?
Merci + Gruss
ich möchte aus dem content part news einen rss-feed erzeugen. Dazu habe ich hier http://www.enym.com/rss-feed-fur-news-items-in-phpwcms/ das neuste Script geholt. Leider habe ich es nicht geschafft.
Ich habe das script in den root Ordner kopiert und die Configuration so angepasst:
Code: Select all
//CONFIGURATION
$news_aid = 24; //ARTICLEID OF NEWSARTICLE
$news_alias = „home“; //ARTICLEALIAS OF NEWSARTICLE
$title = „Newsfeed“;
$description = „Newsfeed“;
//END OF CONFIGURATION
Code: Select all
require PHPWCMS_ROOT.'/news_rss.php';
Code: Select all
Parse error: syntax error, unexpected 'phpwcms_content' (T_STRING) in /home/attacber/www/al-be.ch/news_rss.php on line 21
Merci + Gruss
- Oliver Georgi
- Site Admin
- Posts: 9907
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: RSS Feed aus Contentpart News
DB Präfix?
Re: RSS Feed aus Contentpart News
und wo muss ich das eintragen?