- 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
- Reporting with Visual Studio and Crystal Reports
- Learning ROS for Robotics Programming(Second Edition)
- AngularJS Web Application Development Blueprints
- 營銷數據科學:用R和Python進行預測分析的建模技術
- Production Ready OpenStack:Recipes for Successful Environments
- 深入理解Java7:核心技術與最佳實踐
- MATLAB定量決策五大類問題
- KnockoutJS Starter
- HDInsight Essentials(Second Edition)
- 深入理解Elasticsearch(原書第3版)
- Getting Started with Gulp
- Salesforce Reporting and Dashboards
- 深入分布式緩存:從原理到實踐
- Kotlin開發教程(全2冊)
- Mastering HTML5 Forms