- concrete5 Cookbook
- David Strack
- 333字
- 2021-08-13 16:15:57
Setting page attributes
Pages, like most objects in concrete5, can have any type of custom attribute attached to them. This allows for immense flexibility, but it can be difficult to read and write these attributes using raw SQL. The concrete5 API makes setting and reading page attributes easy.
Getting ready
You will need to know at least the handle of the attribute key that you wish to assign to the page. A common attribute to set is the Meta Title
attribute, which updates the text that appears in the HTML <title>
tag.
How to do it...
We will set the Meta Title
attribute to the About Us page in this example. The steps are as follows:
- Open
/config/site_post.php
in your preferred code editor. - Load the
Page
object that you wish to set the attribute on.$page = Page::getByPath('/about');
- Call the
setAttribute
function on the$page
object, passing in two parameters: the attribute handle (key), and the value.$page->setAttribute('meta_title', 'New Page Meta Title');
- Output a success message and exit the process.
echo 'done!'; exit;
How it works...
The setAttribute
function is a member of the Collection
class, which the Page
class extends. It requires that you provide two parameters, an attribute key (which can either be a string representing the attribute key handle (which we provided here), or an actual AttributeKey
object), and the value.
There's more...
The setAttribute
function is very handy for setting the data of any kind of page attribute. One can update a page's meta information (such as description, keywords, and title) and also give the page various options, such as, excluding it from the navigation (as seen previously) or from the sitemap.xml
file that search engines look for.
You can update any attribute that has been installed in the concrete5 system. To see all available page attributes, or to create new ones, visit the Page Attributes area of your site's dashboard (located at /dashboard/pages/attributes/
).
See also
- The Getting a page by its path recipe
- The Getting a page attribute recipe