SilverStripe, последняя запись в гостевой книге на боковой панели или домашней странице - PullRequest
0 голосов
/ 31 октября 2011

Кто-нибудь знает, как или указывает мне направление показа последней записи в гостевой книге (с помощью простого модуля гостевой книги) на боковой панели или домашней странице?

пытаясь попробовать, я поместил в HomePage.php эту функцию

function LastGuest($nume=1) {
        $guest = DataObject::get_one("Guestbook");
        return ($guest) ? DataObject::get("GuestbookEntry", "", "Date DESC", "", $nume) : false;
}

и в HomePage.ss это:

<% control LastGuest %>
      <div class="newsList">
          <h2 class="newsTitle">$Title.XML</h2>
              <article class="newsSummary">$Comment</article>
      </div>
<% end_control %>

Но это не работает. Я получаю 500 ошибок. Есть идеи?

Заранее спасибо.

1 Ответ

0 голосов
/ 03 ноября 2011

Это работает для меня. Сначала посмотрите, есть ли у вас страница класса Guestbook, возьмите ID этой страницы. Затем используйте это ID в аргументах GuestbookEntry::getEntryList.

function LastGuest() {
    if ($guestbook = DataObject::get_one('GuestBook')) {
        $id = $guestbook->ID;
        $params = array(
            'filter' => 'IsActive = 1 AND IsSpam = 0 AND GuestbookID = ' . $id,
            'sort' => 'Created DESC',
            'limit_start' => 0,
            'limit_end' => 1,
            'comments' => false,
            'cryptmail' => false,
            'emoticons' => false,
        );
        $entries = GuestbookEntry::getEntryList($params);
        return $entries;
    }
    return;
}
...