Alles in 'Page' holen und als Array ausgeben:
public function LatestUpdates() {
$results = Page::get(); // gibt die ganze Liste der Daten zurück
// sql query ausgeführt
foreach($results AS $result) {
print_r($result); // das Resultat
}
}
Gefiltert, wenn 'LastEditedTrue' geklickt wurde, Absteigend sortiert:
public function LatestUpdates() {
$results = Page::get()->filter(array(
'LastEditedTrue' => 1
))->sort('LastEdited DESC');
foreach($results AS $result) {
print_r($result);
}
}
... zusätzlich noch ein Limit, um nur 2 Datensätze anzuzeigen
public function LatestUpdates() {
$results = Page::get()->filter(array(
'LastEditedTrue' => 1
))->sort('LastEdited DESC')->limit(2);
foreach($results AS $result) {
print_r($result);
}
}
Wenn die Anzeige auf 'Title' und 'URLSegment' beschränkt wird:
public function LatestUpdates() {
$results = Page::get()->filter(array(
'LastEditedTrue' => 1
))->sort('LastEdited DESC')->limit(3);
foreach($results AS $result) {
print_r($result->URLSegment." - ".$result->Title);
}
}
Aufgabestellung: Die letzten fünf Einträge in der Startseite anzeigen. Diese beim editieren mit einer Checkbox auswählen können. (Es sollen nicht einfach alle editierten Seiten angezeigt werden. Bsp. kleine Korrekturen an einem Seiteninhalt sind keine neuen Einträge, daher die Wahlmöglichkeit).
Das Page-Modell wurde also mit einer Checkbox für 'letzte Einträge anzeigen' ('LastEditedTrue' => 'Boolean') erweitert. Diese Spalte wird in der Query gefiltert.
public function LatestUpdates($num=6) {
$lastpages = Page::get();
return ($lastpages) ? Page::get()->filter(array(
'LastEditedTrue' => 1
))->sort('LastEdited DESC')->limit($num) : false;
}
Für den 'View' in der *.ss-Datei wird mit 'loop' eine Schleife erstellt und die einzelnen Resultate als Hyperlink zusammengesetzt.
<% loop $LatestUpdates %>
<ul>
<li><a href="$Link"> $Title</a></li>
</ul>
<% end_loop %>
...