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.
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);
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.