ページャークラスでページャーを作成するにはどうすればよいですか? EntityQueryクラスでこれを行う方法はどこにも見つかりませんでした。最後の10項目を表示するpager(10)
があります。 <1、2、3、4、5、6>のような番号のポケットベルを作りたいです。
これは私が今持っているコードです:
class NewsArchive extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
// Query for newest articles and return max 3 results.
$query = \Drupal::entityQuery('node');
$news = $query->condition('type', 'news')
->condition('status', 1)
->sort('created', 'DESC')
->pager(10)
->execute();
// LoadMultiple News in $nodes variable
$nodes = Node::loadMultiple($news);
$path = base_path();
// Return $nodes variable with name items to the module.
return array(
'#theme' => 'mytheme_news_archive',
'#items' => $nodes,
'#path' => $path,
);
}
}
これは次のコードで可能であることをどこかで読みました:
$build['pager'] = [
'#type' => 'pager',
];
このビルドページャー(レンダー)はどのように私のコードに適合しますか?誰かが私に開始方法を教えてもらえますか?
結果を返すビルド配列にページャーを追加します。
return [
'results' => [
'#theme' => 'mytheme_news_archive',
'#items' => $nodes,
'#path' => $path,
],
'pager' => [
'#type' => 'pager',
],
];
または、これを1つの場所でテーマにしたい場合は、変数#pager
でテーマを拡張します。
return [
'results' => [
'#theme' => 'mytheme_news_archive',
'#items' => $nodes,
'#path' => $path,
'#pager' => [
'#type' => 'pager',
],
],
];
次に、ポケットベルを小枝で印刷できます。
{{ pager }}