Page 1 of 1
"Printing the Latest Entries with PHP" auf s9y-blo
Posted: Sun Dec 10, 2006 10:24 pm
by stm999999999
Hallo,
unter
http://www.s9y.org/206.html wird eine Methode beschrieben, wie man s9y-Einträge außerhalb des eigentlichen Blogs mit php anzeigen lassen kann.
Ich will (siehe auch
http://www.s9y.org/forums/viewtopic.php?t=7878) bestimmte Einträge meines Blogs in einem anderen Blog auf der Startseite anzeigen lassen (alle blogs liegen auf demselben Server).
Nun fürchte ich aber, daß diese Methode mit ihrem
Code: Select all
// 2: Start the Serendipity API
include 'serendipity_config.inc.php';
// 3: Start Smarty templating
serendipity_smarty_init();
so ihre Probleme haben / machen könnte, wenn man das in einem anderen s9y-Blog ausführt, oder?
Bliebe mir also nur die javascript-Variante?
Posted: Mon Dec 11, 2006 12:34 am
by hackerart
Ich habe das mal schnell ausprobiert und habe auf einer einfach Test-Webseite damit Probleme, siehe
http://www.hackerart.eu/
Ich habe "chdir('..');" so gelassen, da es mit vollem Pfad Probleme gab.
Klicke ich auf "» nächste Seite" erhalte ich:
The requested URL /P2.html was not found on this server.
Wie kann ich _nur_ den Eintrag, ohne die Tags in die Seite einbinden?
Posted: Mon Dec 11, 2006 11:46 am
by garvinhicking
Hi!
stm: Grundsätzlich sollte der Code-Aufruf eigentlich keine Probleme machen. Die Dateien sind ja auf beiden Blogs gleich. Evtl. ist für dich aber ein iframe oder eine javascript oder eine RSS-Feed Methode leichter, um zum Ziel zu kommen?
hackerart: Das chdir() ist schon sehr wichtig, ansonsten wird nicht ins richtige Verzeichnis zur Einbindung gewechselt. Die URL zur nächsten Seite ist evtl. ein relativer Link und klappt daher nicht, weil er auf deine aktuelle Seite statt auf das Zielblog zeigt. Das hängt dann wiederrum von der Konfiguration deines s9y's ab, und ob Du dort die relative Pfadangabe korrekt eingebaut hast.
Du kannst "nur" den Eintrag einbinden indem Du mittels der PHP-Befehle den Funktionen nicht die "entries.tpl" als Ausgabetemplate übergibst sondern z.B. eine "myentries.tpl" die Du erstellst. In dieser Datei kannst Du alle unwichtigen Sachen dann raushauen.
Gib mal Details wie Du was eingebunden hast, Beispie-URLs zum ansehen, dann kanni ch mehr dazu sagen.
Grüße,
Garvin
Posted: Mon Dec 11, 2006 1:36 pm
by hackerart
Ich muss mir da was noch nächer anschauen, bevor ich mehr Informationen poste. Ich kann mir vorstellen, dass es mit Alias-Pfaden zusammenhängt.
Posted: Mon Dec 11, 2006 5:27 pm
by stm999999999
garvinhicking wrote:stm: Grundsätzlich sollte der Code-Aufruf eigentlich keine Probleme machen. Die Dateien sind ja auf beiden Blogs gleich. Evtl. ist für dich aber ein iframe oder eine javascript oder eine RSS-Feed Methode leichter, um zum Ziel zu kommen?
Hm, ich dachte, weil da ja via "include 'serendipity_config.inc.php';" eine völlig fremde Konfig geladen wird (also auch andere Datenbank/Tabellen, etc.) daß das irgendwie zu Problemen führen kann, wenn hinterher noch Sachen aus dem eigenen Blog geladen werden müssen!?
Javascript würde ich nur als Notberhelf nehmen wollen, weil damit ja manche Nutzer ausgeschlossen werden. iframes muß ich mir mal angucken.
Gibt es eigentlich auch php-Code, der simpelst nur die Ausgabe eines RSS-Feeds übernimmt?
Posted: Mon Dec 11, 2006 5:57 pm
by garvinhicking
Hi!
Hm, jetzt verstehe ich das Problem. Ja, Du kannst in einem s9y nicht nochmal ein anderes s9y laden. Du musst daher die s9y API funktionen nutzen um eine weitere DB connection mit den entsprechenden daten des zweiten blogs aufmachen, dann temporär $serendipity['dbPrefix'] etc. umbiegen und dann via fetchentries() etc. deinen kram holen. Danach die $serendipity[] variablen wieder zurückstellen zu den ursprungsdaten.
Hmmmm. Nee. Auch das wird so nicht klappen, merke ich. Dein $serendipity[] Array ist ja generell ganz anders. Da musst Du also nicht nur eine neue db-connection aufmachen sondern ein ganz neues $serendipity via serendipity_load_config indizieren und vermutlich noch weitaus mehr funktionen umbiegen, damit die konfiguration korrekt ist.
Da wäre es also geschickter ein eigenes plugin zu entwickeln was einfach die entsprechenden SQL-Befehle absetzt und evtl. ein paar Hilfs-s9y Funktionen nutzt.
Gibt es eigentlich auch php-Code, der simpelst nur die Ausgabe eines RSS-Feeds übernimmt?
Ja, Onyx oder Magpierss ist da recht simpel.
Grüße,
Garvin
Posted: Mon Dec 11, 2006 7:33 pm
by stm999999999
hm, am simpelsten erscheint es mir momentan, wenn ich plugin_remoterss irgendwie dazu bewegen könnte, auch per smarty in tpl-Dateien eine Ausgabe zu machen ... *seufz*
Posted: Tue Dec 12, 2006 11:00 am
by garvinhicking
Hi!
Du kannst doch das remoterss-plugin via {serendipity_showPlugin} einbinden?
Grüße,
Garvin
Posted: Fri Dec 15, 2006 12:03 am
by stm999999999
Ich habe jetzt mittels der neuen Sidebar-Positions-Möglichkeiten
einfach eine neue Position bottom aufgemacht und diese dann in meiner static startpage eingefügt:
Code: Select all
<div class="plugin_frontpage_bottom">
{serendipity_printSidebar side="bottom"}
</div>
und über das zusätzliche div kann ich diese völlig nach Belieben formatieren:
Code: Select all
.plugin_frontpage_bottom .sidebar {
width: 500px;
float: left;
clear: both;
margin-top: 30px;
}
.plugin_frontpage_bottom {
margin-top:5px;
margin-left:-70px
}
und wenn ich will, dann kann ich auch Rahmen, Überschrift etc. anpassen. s9y rocks!
