Render same content sorted by date and sorted by date

I’d like to render the content of my section books sorted by date by default. But I’d also like to add a button to display my content sorted by weight.
Zola being static, this is probably best achieved by adding another subsection books/rating which renders the same content by weight.
But I can’t find how to feed the subsection with the content from the parent without duplicating the content.

Also, while rendering the rating.html template, I was unable to access the weight of the individual pages.

      {% for page in section.pages  %}
          {% if page.weight %}
                {{ page.weight }} / 10
          {% endif %}

But somehow, page.weight does not exist. exists, however.
This confuses me since weight is listed as a page field.

Do you have any idea how to solve this?