In addition to being able to set page attributes, developers can also retrieve attributes just as easily. In this exercise, we will get the Meta Title
attribute for the About page.
We are assuming the presence of a page with the path of /about
in this recipe. If that page does not exist, you can create it, or adapt the code in this recipe to fit your circumstances.
The steps for getting a page attribute are as follows:
Open
/config/site_post.php
in your preferred editor. This is a good place to run some arbitrary code.Load the
Page
object.$page = Page::getByPath('/about');
Get the
meta_title
attribute.$title = $page->getAttribute('meta_title');
Dump the variable using the custom debugging function that we created in the chapter's introduction.
my_debug($title);
concrete5 uses the attribute handle string to find the appropriate record in the database and return its value. concrete5 stores attributes in the EAV format (entity, attribute, value), and this makes it difficult to read these values directly with SQL queries. The concrete5 API simplifies this for developers.