Wolf CMSの初期設定では、記事の一覧は1ページにすべて表示されます。
あまり情報量が多いと非常にみにくいページになってしまうので、
ページネーションを利用したいと思います。
ただ、ドキュメント通りに設定するだけでは、
例のごとくPostgreSQLでは戻り値が0になってしまうので、
wolf/app/models/Page.phpのchildrenCountメソッドを修正します。
public function childrenCount($args=null, $value=array(), $include_hidden=false) { // ... // Prepare SQL $sql = 'SELECT COUNT(*) AS nb_rows FROM '.TABLE_PREFIX.'page ' .'WHERE parent_id = '.$this->id ." AND (COALESCE(valid_until, '') = '' OR '".date('Y-m-d H:i:s')."' < valid_until)" .' AND (status_id='.Page::STATUS_PUBLISHED .($include_hidden ? ' OR status_id='.Page::STATUS_HIDDEN : '').') ' ."$where_string ORDER BY $order $limit_string $offset_string"; // ... }
上記部分を下記のように修正します。
public function childrenCount($args=null, $value=array(), $include_hidden=false) { // ... // Prepare SQL $sql = 'SELECT COUNT(*) AS nb_rows FROM '.TABLE_PREFIX.'page ' .'WHERE parent_id = '.$this->id // ." AND (COALESCE(valid_until, '') = '' OR '".date('Y-m-d H:i:s')."' < valid_until)" .' AND (status_id='.Page::STATUS_PUBLISHED .($include_hidden ? ' OR status_id='.Page::STATUS_HIDDEN : '').') '; // ."$where_string ORDER BY $order $limit_string $offset_string"; // ... }
children関数のSQL文と同様にコメントアウトする必要があるようですね。
ただ、この修正方法をいつだか公式フォーラムでみたのですが、
今探してみたらみつかりませんでした :'<