There are times when you're working on a concrete5 site that you'll need to accomplish a task with code that concrete5 doesn't contain. Sometimes you'll be able to accomplish this with a core extension, like a custom block type (either included in the application directory, or in a package), custom page template or custom element. However, sometimes you'll need a custom code. For example, let's consider the example of a page type controller (you can find more information on how to create custom page type controllers here). Within my custom page type controller view method, I want to retrieve a list of posts.

I could use the Concrete\Core\Page\PageList class, but what if I wanted to extend the page list class with a class that already took care of filtering pages in a certain way. I need a new custom class that extends the Concrete\Core\Page\PageList class. How do I create this class, and more importantly, where do I put it in the concrete5 filesystem so that it will autoload correctly?

Let's read on for more information.

Important Note

This documentation is for concrete5 version 8 and above. For parts of this documentation in version and earlier, please refer to this document.

Was this information useful?
Thank you for your feedback.

Could this page use improvement? Edit it!

Edit Page