Twig позволяет подтянуть тот или иной кусок шаблона по условию. Типа такого:
{% if current is defined %}
{% partial __SELF__ ~ '::page' %}
{% else %}
{% partial __SELF__ ~ '::list' %}
{% endif %}
Соответственно, делаете два шаблона, а на страницу подключаете третий, в котором определяется, который из двух использовать для конкретных данных (в примере проверяется заданный в компоненте
$this->page['current']
)