官术网_书友最值得收藏!

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:

  1. Create /config/site_process.php if it does not exist.
  2. Open /config/site_process.php in your preferred text editor.
  3. We can get the current Page object by calling the getCurrentPage static function of the Page class.
    $currentPage = Page::getCurrentPage();
  4. If we inspect the contents of the $currentPage variable, we can see that it is a Page 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
主站蜘蛛池模板: 平原县| 安平县| 河北省| 奈曼旗| 腾冲县| 青浦区| 赫章县| 任丘市| 邳州市| 嘉义市| 青田县| 卢氏县| 康定县| 宁强县| 宽甸| 延庆县| 库车县| 新疆| 平顶山市| 吴忠市| 晋州市| 永靖县| 贵州省| 聂荣县| 武陟县| 武义县| 亳州市| 双桥区| 东宁县| 班玛县| 北海市| 罗田县| 娄烦县| 河南省| 南皮县| 全椒县| 罗城| 河源市| 五常市| 湘潭市| 科技|