- concrete5 Cookbook
- David Strack
- 312字
- 2021-08-13 16:15:55
Getting a page type by its ID
When creating and editing pages in concrete5 development, you will inevitably need to load the desired page type object that will be assigned to a page. Note that page types are actually instances of the CollectionType
object in code. For consistency, we will continue to refer to them as page types outside of code.
Getting ready
We will continue performing these examples in the /config/site-post.php
file, as that is a quick and easy place to run the arbitrary code. We will also continue making use of our custom my_debug
function that was defined in the chapter introduction.
In this recipe, we will be loading a page type with the ID of 4
. Please make sure that this page type exists in your instance of concrete5, otherwise change the ID to something appropriate to your environment.
How to do it...
Much like loading pages, you will need to call a static function on the CollectionType
class. The steps are as follows:
- Open
/config/site_post.php
in your text editor. - First, we will need to know the numerical ID of the page type. In this case, we are going to assume that a page type called "Left Sidebar" exists, and that it has the numerical ID of
4
.$leftSidebarId = 4;
- Now that we have the ID of the page type that we wish to load, we can call the
getByID
function of theCollectionType
class.$leftSidebarPageType = CollectionType::getByID($leftSidebarId);
- We can verify that we loaded the correct page type by inspecting the
$leftSidebarPageType
variable and verifying that it is an instance of theCollectionType
class.my_debug($leftSidebarPageType);
How it works...
The getByID
function performs a simple database query to find the page type that belongs to that ID. A CollectionType
object is returned when a successful lookup is made.
See also
- The Getting a page type by its handle recipe
- HTML5+CSS3王者歸來
- Java從入門到精通(第5版)
- Spring Cloud、Nginx高并發核心編程
- 利用Python進行數據分析(原書第3版)
- Spring快速入門
- INSTANT Adobe Edge Inspect Starter
- Android應用開發實戰(第2版)
- 物聯網系統架構設計與邊緣計算(原書第2版)
- scikit-learn Cookbook(Second Edition)
- .NET 4.0面向對象編程漫談:應用篇
- jQuery從入門到精通(微課精編版)
- 寫給青少年的人工智能(Python版·微課視頻版)
- Python計算機視覺與深度學習實戰
- Design Patterns and Best Practices in Java
- 中小企業網站建設與管理(靜態篇)