COme cambiare i titoli sui bottoni del Pager???

7 contenuti / 0 new
Ultimo contenuto
COme cambiare i titoli sui bottoni del Pager???

Ciao a tutti, spero di trovare qui la soluzione: come faccio a cambiare i nomi che sono di default sul pager? Intendo "seguente" " precedente" ... "Ultima" e "primo" ---> ma a proposito sono frutto di una traduzione automatica? perchè facio notare che "ultima"(al femminile) e "primo"(al maschile) sono un errore grammaticale più che una traduzione! ... e dopo averli cambiati come potrei fare ad averne un duplicato in inglese? spero che qualcuno lo sappia, non riesco a trovare niente... grazie a ciao a tutti

Ciao giozzz,
ho avuto lo stesso tuo problema mesi fa... questo dovrebbe aiutarti ...
nel file template. php metti questa funzione (occhio a cambiare il nome della function...).
a metà codice troverai delle variabili tipo $li_first ... cambia il contenuto delle seguenti variabili, ed il gioco dovrebbe essere fatto... :)

function NOME-TEMA_pager($tags = array(), $limit = 10, $element = 0, $parameters = array(), $quantity = 5) {
  global $pager_page_array, $pager_total;
  // Calculate various markers within this pager piece:
  // Middle is used to "center" pages around the current page.
  $pager_middle = ceil($quantity / 2);
  // current is the page we are currently paged to
  $pager_current = $pager_page_array[$element] + 1;
  // first is the first page listed by this pager piece (re quantity)
  $pager_first = $pager_current - $pager_middle + 1;
  // last is the last page listed by this pager piece (re quantity)
  $pager_last = $pager_current + $quantity - $pager_middle;
  // max is the maximum page number
  $pager_max = $pager_total[$element];
  // End of marker calculations.
  // Prepare for generation loop.
  $i = $pager_first;
  if ($pager_last > $pager_max) {
    // Adjust "center" if at end of query.
    $i = $i + ($pager_max - $pager_last);
    $pager_last = $pager_max;
  }
  if ($i <= 0) {
    // Adjust "center" if at start of query.
    $pager_last = $pager_last + (1 - $i);
    $i = 1;
  }
  // End of generation loop preparation.
  $li_first = theme('pager_first', (isset($tags[0]) ? $tags[0] : t('<< first')), $limit, $element, $parameters);
  $li_previous = theme('pager_previous', (isset($tags[1]) ? $tags[1] : t('< previous')), $limit, $element, 1, $parameters);
  $li_next = theme('pager_next', (isset($tags[3]) ? $tags[3] : t('next >')), $limit, $element, 1, $parameters);
  $li_last = theme('pager_last', (isset($tags[4]) ? $tags[4] : t('last >>')), $limit, $element, $parameters);
  if ($pager_total[$element] > 1) {
    if ($li_first) {
      $items[] = array(
        'class' => 'pager-first',
        'data' => $li_first,
      );
    }
    if ($li_previous) {
      $items[] = array(
        'class' => 'pager-previous',
        'data' => $li_previous,
      );
    }
    // When there is more than one page, create the pager list.
    if ($i != $pager_max) {
      if ($i > 1) {
        $items[] = array(
          'class' => 'pager-ellipsis',
          'data' => '...',
        );
      }
      // Now generate the actual pager piece.
      for (; $i <= $pager_last && $i <= $pager_max; $i++) {
        if ($i < $pager_current) {
          $items[] = array(
            'class' => 'pager-item',
            'data' => theme('pager_previous', $i, $limit, $element, ($pager_current - $i), $parameters),
          );
        }
        if ($i == $pager_current) {
          $items[] = array(
            'class' => 'pager-current',
            'data' => $i,
          );
        }
        if ($i > $pager_current) {
          $items[] = array(
            'class' => 'pager-item',
            'data' => theme('pager_next', $i, $limit, $element, ($i - $pager_current), $parameters),
          );
        }
      }
      if ($i < $pager_max) {
        $items[] = array(
          'class' => 'pager-ellipsis',
          'data' => '...',
        );
      }
    }
    // End generation.
    if ($li_next) {
      $items[] = array(
        'class' => 'pager-next',
        'data' => $li_next,
      );
    }
    if ($li_last) {
      $items[] = array(
        'class' => 'pager-last',
        'data' => $li_last,
      );
    }
    return theme('item_list', $items, NULL, 'ul', array('class' => 'pager'));
  }
}

Ripeto non sono sicuro al 100% perchè l'ho fatto mesi fa... cmq ti consiglio di provare...
ciao!!

I Dubbi te li crea la libertà.
http://www.texas138.com

Grazie 1000!!!!!!!!!!!! Funziona!!!!! E' esattamente come dici, niente di più e niente di meno! davvero grazie, mi hai risolto un problema!!! ..... ma per quel che riguarda la traduzione in altre lingue come posso fare? .. è fattibile con questa funzione? sono molto inesperta di php purtroppo... se qualcuno ha la soluzione ringraziamenti anticipati!

ahahahah be almeno la mia memoria è ancora buona... :p
per la traduzione... d'istinto mi vine da dirti di andare su www.tuosito/admin/build/translate/search , cercare la parola da tradurra (tipo "precedente") e vedere se te la trova o meno??
altrimenti dovresti fare un controllo della lingua nella funzione e indicare tutte le varianti del caso... pero' ora non mi viene in mente come fare... dovrei provare...

I Dubbi te li crea la libertà.
http://www.texas138.com

Uhm.. sai che non ho capito la tua risposta..ehm! forse anch'io mi son spiegata male.. intendevo: come faccio a tradurre le parole che stanno nei bottoni del pager: in breve, adesso ci ho messo avanti, indietro...etc.. c'è un modo di indicargli che se il sito passa all'inglese (io uso l'i18n come modulo per la traduzione), i pager devono cambiare dicitura?
..se no mi sa che mi arrangerò con le freccine >> > < <<

Grazie in ogni caso!!!

ciao giozzz...
scusa se risp in ritardo...
allora io ti consiglio una roba... non l'ho mai provata ma secondo me funziona... ;)
non so se sia una soluzione epica o fine... pero' secondo me fa al caso tuo...
io ti consiglio di implementare un controllo nella funzione sopra citata, un controllo della lingua mediante la variabile language.

in buona sostanza un bell'IF la dove imposti le variabili che hai già cambiato:

global $language;
if ($language->language == 'it') {
  print "la lingua è italiano, quindi dichiaro le mie variabili in italiano...";
}
else {
  print "la lingua non è italiano, quindi dichiaro le mie eventuali traduzioni";
}

Nei rami dell'if ti duplichi la dichiarazione delle variabili nelle due lingue... e secondo me sei appppppppppposto!!! :)
Se hai più lingue invece di if usi un if-elseif o uno swich...

Prova... tentar non nuoce... se non funziona mi spiace... ma io sono ottimista!! :D
ciao!!

I Dubbi te li crea la libertà.
http://www.texas138.com

ps:
per variabili intendo $li_first, $li_previous, $li_next e $li_last ...
spero di essere stato chiaro... scusa in anticipo ma sono consapevole che il mio italiano fa pena!!! :)

ariciao!!

I Dubbi te li crea la libertà.
http://www.texas138.com