Sto lavorando su qualche impaginazione e mi chiedo se c'è un modo per dire liquido di mostrare solo 5 pagine. L'uscita Io sto cercando èLiquid and Arithmetic
< < First 5 6 8 9 Ultimo >>
La logica Al momento ho in atto opere, ma sta mostrando tutti i 30 alcune pagine.
{% for count in (2..paginator.total_pages) %}
{% if count == paginator.page %}
<span class="current">{{ count }}</span>
{% else %}
<a href="/page/{{ count }}/" class="pagenavi-page" title="{{ count }}">{{ count }}</a>
{% endif %}
{% endfor %}
Mi piacerebbe essere in grado di fare le 2 e paginator.total_pages essere dinamica, ho cercato
{% for count in ((paginator.page - 2)..(paginator.page + 2)) %}
Questo codice tuttavia in realtà non fare i conti, se paginator.page = 5 quindi il ciclo è 5..5 e non fornisce i risultati attesi. Posso capire la logica in modo che non tocchi i numeri negativi e funzioni come previsto ma come posso fare le equazioni matematiche in questo?
Grazie per la risposta che ha senso. Tuttavia, mi trovo contro un altro errore quando provo ad impostare il mio ciclo. Devo essere in grado di verificare se page_end è maggiore delle pagine totali. {% se PAGE_END> paginator.total_pages%} {% assegnare PAGE_END = paginator.total_pages%} {% endif%} Il codice di cui sopra mi dà il seguente errore Eccezione Liquid: il confronto di stringa con 37 fallito in index.html C'è un modo per farlo in Liquid? –
Ho capito, ho solo dovuto estendere il pagination.rb in Jekyll e aggiungere le variabili pager_start e pager_end e i calcoli –
Per i googler che cercano un approccio più moderno, compatibile con GitHub Pages che non coinvolga la programmazione Ruby, controlla [questo ] (http://stackoverflow.com/a/31972386/5195629). Divulgazione: ho scritto la risposta. – Shadowen