letzten 10 Einträge in Template einbauen

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Hallo an alle,

wie kann ich denn die letzten 10 Einträge in meinem Template darstellen ?

Hab das jetzt mal in die config.inc.php eingetragen aber wie komme ich im Template an den output ?

Code: Select all

$new_entrys = serendipity_db_query("SELECT * FROM `serendipity_entries` Order By `timestamp` DESC limit 10", true, 'assoc');
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Ok scheinbar hab ich die Frage falsch gestellt. Ich möchte erreichen das die 10 letzten Einträge in einer Smarty Variable verfügbar sind. Irgendwie bekomme ich das nicht gebacken. Irgendwer einen Tipp wie ich das erreichen kann ?

Bin ja jetzt schon einen Schritt weiter aber bekomme irgendwie nicht den richtigen Output.

In meiner config.inc.php hab ich das eingetragen :

Code: Select all

$new_posts = "SELECT `id`,`title` FROM `serendipity_entries` Order BY `timestamp` DESC LIMIT 5";
$serendipity['smarty']->assign('entrytop5', serendipity_db_query($new_posts, true, 'assoc'));
Ich versuche das dann mittels dem hier auszugeben aber leider bekomme ich nur zeichensalat.

Code: Select all

{foreach from=$entrytop5 item=value}
									{$value.id} - {$value.title}<br>
								{/foreach}
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Argl mein Fehler ....

aus :

Code: Select all

$serendipity['smarty']->assign('entrytop5', serendipity_db_query($new_posts, true, 'assoc'));
das machen :

Code: Select all

$serendipity['smarty']->assign('entrytop5', serendipity_db_query($new_posts, false, 'assoc'));
musste mir erstmal die MySql Funktion anschauen um zu wissen was ich falsch gemacht hatte ....
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Ok nochmal für alle die das auch haben möchten.

In die Datei config.inc.php des templates das einbauen

Code: Select all

$lastentrys = "SELECT `id`,`title`, sp.permalink FROM `serendipity_entries` se INNER JOIN serendipity_permalinks sp ON (se.id = sp.entry_id) Order BY se.`timestamp` DESC LIMIT 10";
$serendipity['smarty']->assign('lastentrys', serendipity_db_query($lastentrys, false, 'assoc'));
wenn ihr mehr oder weniger Einträge sehen möchtet einfach das LIMIT 10 ändern auf die gewünschte Anzahl bei 5 z.B. LIMIT 5

dann in das Template wo die neusten Einträge auftauchen sollen das einbauen.

Code: Select all

<h3>Neuste Einträge</h3>
<!-- newPost -->
{foreach from=$lastentrys item=newPosts}
<a href="{$newPosts.permalink}">{$newPosts.title}</a><br>
{/foreach}
onli
Regular
Posts: 2828
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by onli »

Die Frage war schon ordentlich gestellt :)

Zu deiner Lösung: Denke daran, dass so direkt die Datenbank ausgelesen wird. Also werden keine Plugins ausgeführt, mit denen der Artikelinhalt sonst modifiziert werden könnte. Hier macht das nichts, da du nur den Titel willst - aber wenn da später mehr gewünscht ist, behalt das im Hinterkopf.

Alternative ist, serendipity_fetchEntries aufzurufen. Dann wird auch nicht mehr der Datenbank-Cache umgangen, wobei der nicht automatisch an ist.
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Könntest du das mal genauer erklären ? Ich verstehe dich jetzt ehrlich gesagt nur so um die 75 % ;-)

Was meinst du mit es werden keine Plugins ausgeführt BBCodes usw oder übersehe ich noch etwas anderes ?
onli
Regular
Posts: 2828
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by onli »

Genau. Die ganzen Markup-Plugins werden durch die Events beim Anzeigen des Eintrags ausgeführt. Sie würden hier also fehlen.
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Wie müsste ich das denn realisieren das die Markups auch geparst werden ?
onli
Regular
Posts: 2828
Joined: Tue Sep 09, 2008 10:04 pm
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by onli »

Praktisch genauso wie Serendipity das in der genpage.inc.php macht:

Code: Select all

serendipity_printEntries(serendipity_fetchEntries($range, true, $fetchLimit));
$fetchlimit wäre bei dir 10, und range ein array mit zwei timestamps (in unix time), start und ende.

Alternative könntest du dir aus der datenbank die id der letzten 10 Einträge raussuchen und mit ihnen serendipity_fetchEntry aufrufen.
Mokkujin
Regular
Posts: 61
Joined: Thu Feb 11, 2010 11:59 am
Location: Hannover, Germany
Contact:

Re: letzten 10 Einträge in Template einbauen

Post by Mokkujin »

Hmm da muss ich mal ein wenig damit spielen.

Ich werde das mal probieren danke auf jeden Fall .
Post Reply