Sortierung / Filter in gleicher Template Datei ausgeben

Ich bin zumindest soweit gekommen, dass die Sortierung 1x funktioniert. Man muss die mitgegebenen Variablen anpassen:

{% block element_sidebar_filter %}
    {# Use values from cms data if context is a cmsPage, otherwise `listing` and `sidebar` must be set manually #}
    {% if cmsPage is defined %}
        {% set config = element.fieldConfig.elements %}
        {% set slot = cmsPage.getFirstElementOfType('product-listing') %}
        {% set listing = slot.data.listing %}
        {% set sidebar = block.sectionPosition == 'sidebar' %}
    {% endif %}

    {% if listing.aggregations.elements|length > 0 %}
        <div class="cms-element-sidebar-filter">
            {% block element_product_listing_filter_button %}

            {% endblock %}

            {% block element_sidebar_filter_panel %}
                <div
                    id="filter-panel-wrapper"
                    class="filter-panel-wrapper"
                    data-off-canvas-filter-content="true"
                >
                    {% sw_include '@Storefront/storefront/component/sorting.html.twig' with {
                        current: listing.sorting,
                        sortings: listing.availableSortings
                    } %}
                    {% sw_include '@Storefront/storefront/component/listing/filter-panel.html.twig' with {
                        listing: listing,
                        sidebar: sidebar
                    } %}
                </div>
            {% endblock %}
        </div>
    {% endif %}
{% endblock %}

Das Problem ist sie funktioniert halt nur 1x. Wenn das Listing dann neugeladen ist geht scheinbar die Verbindung zwischen dem select und dem aktuellen Listing verloren. Ein zweites mal sortieren entfernt den query param aus der URL und zeigt die Standardsortierung.