- concrete5 Cookbook
- David Strack
- 299字
- 2021-08-13 16:15:54
Getting the current Page object
A very common task for concrete5 developers is to retrieve information from the page that is currently displayed. You will encounter this situation quite often, whether you need to update some information about the current page (such as a page title), check the current user's permissions on this page, or just display the page title. Fortunately, this is quite simple.
How to do it...
The steps for getting the current Page
objects are as follows:
- Create
/config/site_process.php
if it does not exist. - Open
/config/site_process.php
in your preferred text editor. - We can get the current
Page
object by calling the getCurrentPage static function of the Page class.$currentPage = Page::getCurrentPage();
- If we inspect the contents of the
$currentPage
variable, we can see that it is aPage
object, and now we are ready to perform further operations on it. In this example we are using our custom debugging function that was created in the chapter introduction.my_debug($currentPage);
How it works...
Calling the static getCurrentPage
function on the Page
class will look in the concrete5 Request
object to get the current page. If that is not set, concrete5 will use the global $c
variable. Note the use of site_process.php
to dump the current page variable. We used this file because it is read after concrete5 has set the current Page
object. Using site_post.php
would have resulted in a null object.
There's more...
You may have already noticed that sometimes developers will use the global variable, $c
, within their code to get the current Collection
or Page
object. This typically works fine, but best practices would be to use the getCurrentPage
function to handle this for you.
See also
- The Getting a Page object by its ID recipe
- The Getting a Page object by its path recipe
- Mastering Entity Framework Core 2.0
- DevOps with Kubernetes
- 零基礎(chǔ)搭建量化投資系統(tǒng):以Python為工具
- Android應(yīng)用程序開發(fā)與典型案例
- Learn to Create WordPress Themes by Building 5 Projects
- Flink SQL與DataStream入門、進(jìn)階與實戰(zhàn)
- 實用防銹油配方與制備200例
- Learning Neo4j 3.x(Second Edition)
- 小程序,巧運營:微信小程序運營招式大全
- Learning Apache Kafka(Second Edition)
- SQL Server 2016數(shù)據(jù)庫應(yīng)用與開發(fā)
- Haskell Data Analysis Cookbook
- Mastering Android Game Development
- Learning PHP 7
- Java Web開發(fā)就該這樣學(xué)