- concrete5 Cookbook
- David Strack
- 344字
- 2021-08-13 16:15:54
Getting a Page object by its ID
In many situations, you will need to load a Page
object using its unique numerical ID from the database. As mentioned earlier, pages are actually extensions of the Collection
object, so you will actually be loading the page by its collection ID.
Getting ready
We will need to know the numerical ID of the page that you are attempting to load. Often this will be stored in other objects, perhaps even a custom entity that you have stored in the database. For example, say you have a recipes table in the database, and each recipe has its own page in the concrete5 website. You store the page ID for each recipe, so you can load the relevant Page
object whenever necessary.
How to do it...
First you will have to get the page ID for the Page
object that you are trying to load. For this example, we will just hard-code the ID of the page that we are loading. The steps are as follows:
- Open
/config/site_post.php
in your favorite code editor. - First, let's store the ID of the page we are loading into a variable. In real-world use, you will likely have this ID stored in a database table, or available from some other code that you have run. The ID of the home page in concrete5 defaults to
1
, so we will use that for our page's ID:$pageId = 1; // load the home page
- Now that we have the ID of the page that we need to load, use the
getByID
function to get thePage
object that we need:$page = Page::getByID($pageId);
- We can inspect the
$page
variable and verify that it contains aPage
object.my_debug($page);
How it works...
The page ID (also known as collection ID) is unique in the database, so calling the getByID
function will load the correct page data and return a Page
object that you can interact with.
See also
- The Getting the current Page object recipe
- The Getting a Page object by its path recipe
- LaTeX Cookbook
- PHP 從入門到項目實踐(超值版)
- arc42 by Example
- OpenNI Cookbook
- 精通Scrapy網絡爬蟲
- PHP+MySQL+Dreamweaver動態網站開發實例教程
- Learning Salesforce Einstein
- Bootstrap 4 Cookbook
- ServiceNow:Building Powerful Workflows
- Mastering Linux Security and Hardening
- 智能搜索和推薦系統:原理、算法與應用
- C語言程序設計習題與實驗指導
- 零基礎學HTML+CSS
- 大數據時代的企業升級之道(全3冊)
- Get Your Hands Dirty on Clean Architecture