Extensibility is something we expect in all features of Odoo, and web features are no exception, so existing controllers and templates can be extended.
As an example, we will extend our Book catalogue web page to leverage the book availability information we just added:
- On the Controller side, we will add support to a query string parameter, to filter only the available books:
/library/books?available=1
- On the Template side, we will add an indication on the books that are not available
Web Controllers should not have actual business logic, and focus on presentation logic. We might want to add support for additional URL parameters or even routes, which are used to change the presentation of the web page.
We will extend the /library/books
endpoint to support a query string parameter, available=1
, filtering the catalogue of book to only the available titles.
To extend an existing Controller, we need to import the corresponding Object...