- 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
- .NET之美:.NET關鍵技術深入解析
- 深入理解Android(卷I)
- Web Scraping with Python
- Web Application Development with R Using Shiny(Second Edition)
- WordPress Plugin Development Cookbook(Second Edition)
- Getting Started with Gulp
- 輕松上手2D游戲開發:Unity入門
- Geospatial Development By Example with Python
- Android Development Tools for Eclipse
- 分布式架構原理與實踐
- 官方 Scratch 3.0 編程趣味卡:讓孩子們愛上編程(全彩)
- 軟硬件綜合系統軟件需求建模及可靠性綜合試驗、分析、評價技術
- C++面向對象程序設計教程
- Selenium自動化測試實戰:基于Python
- 寫給所有人的編程思維