概要

Concrete\Core\Page\Page は、concrete5 のなかでも最もよく使われるオブジェクトのひとつです。ページはサイトのエントリーポイントであり、カスタム属性によって開発者がアクセスしたい様々な情報を保存することができます。また、ページの作成日付やページ名などの情報を表示するにも、ページオブジェクトをどのように取得し取り扱うかを理解する必要があります。

現在のページオブジェクトを取得

ページテンプレート内で

ページテンプレート(テーマ内のテンプレートファイルやシングルページのテンプレート)内では、現在のページのオブジェクトを取得するのに特に何もする必要はありません。すでにローカルスコープに存在します。

$c

$c は現在のページ(current page)を意味します。

ブロックテンプレート内で

$c オブジェクトはブロックのビューまたは編集テンプレートでは使えません。その代わりに、次のコードスニペットで現在のページを取得できます。

$c = \Page::getCurrentPage();

ページのパスまたはIDで取得

サイトマップツリーに特定のページを取り扱いたい場合があります。

$c = \Page::getByPath('/path/to/page', 'APPROVED');

似たような場合で、ページの数値IDで取得したい場合はこのようにできます。

$c = \Page::getByID(1, 'APPROVED'); // 「ホーム」ページを取得しています

ページオブジェクトが取得できたら、それで色々なことができます。

最新のページオブジェクトを取得

上記の例は承認された Page Version オブジェクトを読み込んだ状態のページオブジェクトを取得します。ページの承認されたバージョンの情報を表示したい場合はこれで問題ありません。しかし、時には開発者は、承認されていないバージョンも含めて、ページの最新のバージョンを取得したい場合もあるでしょう。そのためには、バージョンの指定を除外してください。

$c = \Page::getByPath('/path/to/page');
 
$c = \Page::getByID(1);

原文:Overview