Freunde würden auf ihrer Seite (Forum) gerne darstellen, wenn Seiten bei mir neu hinzugekommen sind oder aktualisiert wurden. Wie ist dies am besten zu bewerkstelligen?
Wahrscheinlich sehe ich vor lauter Bäume mal wieder den Wald nicht. Mein Googlen und Search hat mich jedoch nicht weitergebracht.
Mit der Hilfe des CGFeedmaker kam ich auch nicht zurecht, außerdem will ich keine Feeds aus bestimmten Modulen erstellen, sondern die komplette Webseite.
Es wird ja schon eine Sitemap.xml erstellt, die bei jeder Änderung aktualisiert wird, kann man die nicht irgendwie dafür nutzen?
RSS feed? Oder was sonst?
-
- Power Poster
- Posts: 751
- Joined: Fri Sep 12, 2008 2:34 pm
- Location: Schweiz / Switzerland
Re: RSS feed? Oder was sonst?
Zur gleichen Frage läuft ein anderer Thread:
http://forum.cmsmadesimple.org/index.ph ... 41.new#new
http://forum.cmsmadesimple.org/index.ph ... 41.new#new
[this message is written with 100% recycled bits]
Re: RSS feed? Oder was sonst?
Leider hat mir auch der andere Thread nicht weiter geholfen.
Ich will Dinge erreichen:
1. irgendwo auf derSeite eine Auflistung der neu erstellten Seiten bringen
(dasPlug-In recently_added funktioniert nicht mehr undgibt mir diesen Fehleraus:)
2. will ich einem Forum einen Link bereitstellen,wo man ersehen, obundwelcheSeite neu sind
Ich hab den CGfeedmaker installiert und fand nicht heraus, wie manden dazu bringt die neuen Seiten der gesamten Webseite als Feed darzustellen.
Es gibt viele Beispieltemplates, aber keines für die Gesamte Webseite
Soweit ich ausdenTemplates erkennen konnte, wird das Modul fürdasderFeederstellt werdensoll namentlich aufgerufen
Was muß da jetzt stehen, damit Seiten angezeigt werden?
Ich will Dinge erreichen:
1. irgendwo auf derSeite eine Auflistung der neu erstellten Seiten bringen
(dasPlug-In recently_added funktioniert nicht mehr undgibt mir diesen Fehleraus:
Code: Select all
Fatal error: Call to undefined method AjaxMadeSimple::ContentPreCompile() in /..../thaiwahn.de/plugins/block.recently_added.php on line 81
2. will ich einem Forum einen Link bereitstellen,wo man ersehen, obundwelcheSeite neu sind
Ich hab den CGfeedmaker installiert und fand nicht heraus, wie manden dazu bringt die neuen Seiten der gesamten Webseite als Feed darzustellen.
Es gibt viele Beispieltemplates, aber keines für die Gesamte Webseite
Soweit ich ausdenTemplates erkennen konnte, wird das Modul fürdasderFeederstellt werdensoll namentlich aufgerufen
Code: Select all
{CGBlog assign='junk'}
oder
{news assign='junk'}
Re: RSS feed? Oder was sonst?
Warum nicht?TeXnik wrote:
Leider hat mir auch der andere Thread nicht weiter geholfen.
Wo hakt's denn?
Was stimmt denn mit diesem UDT nicht:
Einfach mal ausprobieren und das Ding irgdnwo in Deine Seite einbauen und schauen was passiert.nockenfell wrote:
http://wiki.cmsmadesimple.org/index.php ... gs_here/de
Code: Select all
$limit = 10; if(isset($params['limit'])) $limit = $params['limit']; $output = '<div class="nav"><div class="heading">Aktualisierungen</div>'; $output .= '<ul class="links">'; global $gCms; $hm =& $gCms->GetHierarchyManager(); $db = &$gCms->db; // gibt eine Liste der n zuletzt aktualisierten Seiten aus (außer der Startseite) $q = "SELECT * FROM ".cms_db_prefix()."content WHERE (type='content' OR type='link') AND default_content != 1 AND active = 1 AND show_in_menu = 1 ORDER BY modified_date DESC LIMIT ".$limit; $dbresult = $db->Execute( $q ); if( !$dbresult ) { echo 'Datenbankfehler: '. $db->ErrorMsg()."<br/>"; } while ($dbresult && $updated_page = $dbresult->FetchRow()) { $curnode =& $hm->getNodeById($updated_page['content_id']); $curcontent =& $curnode->GetContent(); $output .= '<li class="updated">'; $output .= '<a href="'.$curcontent->GetURL().'">'.$updated_page['content_name'].'</a>'; $output .= '<br />'; $output .= $updated_page['titleattribute']; $output .= '<br />'; $output .= 'Bearbeitet: ' .$updated_page['modified_date']; $output .= '</li>'; } $output .= '</ul></div>'; echo $output;
Wenn er nicht das macht, was Du willst, dann erkläre uns was nicht stimmt. Das ist relativ simpler PHP Code, den kann man auch leicht anpassen.
Schonmal mal nach AjaxMadeSimple gesucht und versucht, das bemängelte Fehlen des Moduls AjaxMadeSimple so zu beheben, indem Du das Modul AjaxMadeSimple einfach mal installierst?TeXnik wrote:
(das Plug-In recently_added funktioniert nicht mehr und gibt mir diesen Fehleraus:)Code: Select all
Fatal error: Call to undefined method AjaxMadeSimple::ContentPreCompile() in /..../thaiwahn.de/plugins/block.recently_added.php on line 81
(Diese Variante ist aber eh nicht wirklich zu empfehlen. Ich wüsste nicht, wozu man da Ajax benötigen sollte. Ein Plugin von einem Modul abhängig zu machen, ist auch keine unbedingt elegante Lösung.)
Es gibt noch ein anderes Plugin namens last_modified_pages. Ist aber schon etwas älter. Weiß nicht, ob das noch funktioniert.
Der CGFeedMaker scheint nur für Module gedacht zu sein.
Man könnte den Feedmaker zwar verwenden um RSS Feeds des MenuManagers auszugeben, aber der MenuManager bietet keine Möglichkeit, die Seiten nach Datum zu sortieren. Würde also nicht viel bringen.
CGFeedmaker für die RSS Ausgabe der aktuellsten Seiten halte ich momentan einfach nicht für die richtige Lösung. Möglicherweise wird es eine derartige Funktion irgendwann geben, aber im Moment würde ich das erstmal sein lassen.
Wenn Du also einen Feed zu den aktuellsten Seiten haben willst, wäre die meiner Meinung nach einfachste Lösung die, die in dem verlinkten Post steht. Erstelle eine Seite, die nicht im Menü sichtbar ist und nichts weiter enthält als einen Dummy Text. Dieser Seite weist Du ein extra Template zu, das eine XML Ausgabe der letzten n Seiten ausgibt.
Und das geht sowohl mit dem {content_dump} Plugin (weil man dort auch nach Datum sortieren kann) als auch mit dem UDT (den muss man allerdings noch anpassen, da er ja so wie er hier steht nur eine Liste der letzten Seiten und kein RSS XML Dingens ausgibt).
So wie es hier beschrieben wurde (mit {content_dump}):
Dann brauchst Du in Deinem Seitentemplate im Head nur noch einen RSS Link zu dieser neu erstellten unsichtbaren Seite zu platzieren:jeff1980 wrote:Code: Select all
<?xml version="1.0" encoding="utf-8"?> <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"> <channel> <atom:link href="http://www.domain.de/feed.htm" rel="self" type="application/rss+xml" /> <title>Feed-Titel</title> <link>http://www.domain.de/feed.htm</link> <description>Feed-Beschreibung</description> <generator>CMS Made Simple</generator> <webMaster>mail@domain.de (Vorname Nachname)</webMaster> {content_dump limit_count="10" first_sort="modified" first_sort_order="down" do_smarty="strip" dateformat="%a, %d %b %Y %T EST"} {foreach from=$dump item=dump} <item> <title>{$dump->content->title}</title> <link>http://www.domain.de/{$dump->content->alias}.htm</link> <description><![CDATA[{$dump->content->data}]]></description> <pubDate>{$dump->modified->date}</pubDate> <guid>http://www.domain.de/{$dump->content->alias}.htm</guid> </item> {/foreach} </channel> </rss> {/if}
Code: Select all
Und wenn man diesem Link folgt, bekommt man auch genau das: Eine Liste der 10 aktuellsten Seiten. (die Zahl 10 kannst Du auch gern noch anpassen)
Wie Du diese Liste ohne zutun des Webseitenbesuchers irgendwo in einem Forum anzeigen lassen kannst, ist eine Frage des verwendeten Forums. Denn die Forensoftware muss die XML Daten selbst beziehen und entsprechend verarbeiten. Wenn das Forum das nicht bietet, ist das leider Pech.
Wenn Du das CMSms Modul Forum Made Simple verwendest, brauchst Du diesen XML RSS Feed Käse überhaupt nicht, denn dann kannst Du den oben genannten UDT oder eben {content_dump} (nur ohne XML Zeugs) auch einfach irgendwo in Deinem Forum-Template platzieren.
Wenn Dich das alles nicht weiterbringt, dann weiß ich leider auch nicht weiter.
Last edited by NaN on Sun Sep 19, 2010 12:31 pm, edited 1 time in total.
Re: RSS feed? Oder was sonst?
Hallo NaN, diesen UDT hatte ich schon verwendet, der zeigt auf der Seite nur das Datum an, aber keinen Titel noch einen Link.
Der Quellcode ist so ziemlich identisch mit dem Plug-In recently_modified, welches komischerweise immer noch einwandfrei funktioniert. Mit meinen so gut wie nicht vorhandenen Kenntnissen, konnte ich nicht feststellen, warum das UDT nicht geht, aber das Plug-In.
recently_added zeigte nur die neu angegten Seiten an, nicht die veränderten, fürgibt es recently_modified.
AjaxMadeSimple hatte ich vor längerer Zeit installiert, weil irgendein Modul es brauchte, kann es sein , AMS Probleme mit der aktuellen CMS-Version hat? Ichwerde es trotzdem mal deinstallieren und neu draufspielen.
Mit dem RSS-Feed für neue Seiten habe ich mich mit einem externen Feedmaker (www.page2rss.com) beholfen. Ich warte dann und hoffe, daß es irgendwann mal eine einfache Funktion für mich gibt.
Bei der Lösung von jeff1980 muß ich doch ein eigenes unabhängiges template erstellen oder reicht der Code alsTemplate aus?
Den RSS-Link muß ich dann in jedes verwendete Template im Header einfügen?
Der Quellcode ist so ziemlich identisch mit dem Plug-In recently_modified, welches komischerweise immer noch einwandfrei funktioniert. Mit meinen so gut wie nicht vorhandenen Kenntnissen, konnte ich nicht feststellen, warum das UDT nicht geht, aber das Plug-In.
recently_added zeigte nur die neu angegten Seiten an, nicht die veränderten, fürgibt es recently_modified.
AjaxMadeSimple hatte ich vor längerer Zeit installiert, weil irgendein Modul es brauchte, kann es sein , AMS Probleme mit der aktuellen CMS-Version hat? Ichwerde es trotzdem mal deinstallieren und neu draufspielen.
Mit dem RSS-Feed für neue Seiten habe ich mich mit einem externen Feedmaker (www.page2rss.com) beholfen. Ich warte dann und hoffe, daß es irgendwann mal eine einfache Funktion für mich gibt.
Bei der Lösung von jeff1980 muß ich doch ein eigenes unabhängiges template erstellen oder reicht der Code alsTemplate aus?
Den RSS-Link muß ich dann in jedes verwendete Template im Header einfügen?