- 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
- Visual Basic .NET程序設計(第3版)
- Design Principles for Process:driven Architectures Using Oracle BPM and SOA Suite 12c
- PyQt從入門到精通
- C# 從入門到項目實踐(超值版)
- 青少年軟件編程基礎與實戰(圖形化編程三級)
- Internet of Things with Intel Galileo
- 實戰Java高并發程序設計(第3版)
- 零基礎入門學習Python
- OpenResty完全開發指南:構建百萬級別并發的Web應用
- Statistical Application Development with R and Python(Second Edition)
- 小型編譯器設計實踐
- Python Programming for Arduino
- Angular Design Patterns
- 程序員的成長課
- React and React Native