Your catalog is mostly 2 things: a list of product and a detailed product page.
This section covers the listing pages, which includes: category, search result, products per brand, best seller list, new product list and so on.
In order to reduce code duplication, the only necessary template is the file
Extending product-list template
We already covered how prestashop chooses the right template to use, so we know that the category template extends the product-list template.
We already covered how the template inheritance allows you to redefine only small part of bigger template.
So basically you are all set to create a category template or a search result template that make much more than the product-list template!
AJAX page update
Your product list will change as the customer filters the result with faceted navigation or sorting options for instance.
Each Ajax call will regenerate the following templates:
How to update the view