[ruby-it] Modificare css Will Paginate

Pietro Giorgianni giorgian a gmail.com
Gio 6 Ago 2009 13:59:10 CEST


Il giorno 06 agosto 2009 13.35, JellyBellyWeb<jellybellyweb a gmail.com>
ha scritto:
> Quindi a primo acchitto penso sono fregato... questa paginazione sua
> ul ed li, mentre la mia di default usa gli span!!!
> Come diavolo faccio???

potresti modificare gli helper, che trovi in
/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb;
tuttavia, perché?
immagino che il tuo scopo sia ottenere l'effetto visivo che usa
drupal, non il suo markup.

tra l'altro mi sembra che, nella pagina che hai linkato, lo stile sia
applicato all'elemento a, non al li (e comunque anche in quel caso
basterebbe fare un copia e incolla mirato).

che so,

.pagination a {
    padding: 2px 5px;
    background:#dfedf7;
    border:1px solid #90c2e1;
    -moz-border-radius:2px;
    -webkit-border-radius:2px;
}

(copiato pari pari da drupal).
ah, .pager li contiene "padding: 0.5em;", che tu potresti sostituire
con "margin: 0.5em;" in .pagination a, ottenendo pressocché lo stesso
risultato.

fidati, se ci aggeggi abbastanza puoi ottenere quasi qualunque
effetto; se proprio devi fare qualcosa di strano, allora modifica gli
helper. quel view_helpers.rb a tutta prima sembra complicato, ma se
cerchi, che so, span, trovi il metodo che disegna lo span; lo
modifichi perché disegni ul, div o qualunque altra cosa ed è fatta;
idem per i link.

in particolare, i link vengono scritti dal metodo page_link:
     def page_link(page, text, attributes = {})
      @template.link_to text, url_for(page), attributes
    end

e allora basta che fai:
     def page_link(page, text, attributes = {})
      link = @template.link_to text, url_for(page), attributes
      "<li class=\"pager-item\">#{link}</li>"
    end

ed è fatta.

a rischio di sembrare pedante, ripeto: modifica gli helper solo se
veramente devi: vedrai che modificando lo stile riesci a fare tutto.


pietro


More information about the Ml mailing list