Limita il numero di immagini per post

Tutorial Limita il numero di immagini per post

Messaggio Da Niko Sab 16 Gen 2021 - 22:52

Limita il numero di immagini per post


Essendo stata richiesta più volte, ecco un tutorial che spiega come limitare il numero di immagini che verranno visualizzate in un messaggio. Questo script funziona per tutte le versioni del forum attualmente offerte.

Limita il numero di immagini per post Hideim10

Installazione del codice Javascript

Assicurati che la gestione dei codici Javascript sia attivata, quindi crea un nuovo javascript con il titolo "Limita citazioni" e per il posizionamento "Negli argomenti".

Inserisci il codice seguente:
Codice:
$(function() {
  var maxImages = 1, /* nombre maximum d'images par post */
      displayTextReplace = true, /* "false" pour ne rien afficher à la place de l'image masquée */
      displayTextFinal = true,  /* "false" pour ne pas afficher l'information sur le nombre d'images masquées en fin du message */
      maxTextReplace = "Cette image a été masquée",
      maxTextFinal = "L'administrateur de ce forum a choisi de n'afficher que {MAX} images par message.<br />{DIFF} images ont été masquées dans ce message.",
      m = maxImages - 1;
 
  $('td .postbody:not(.clearfix), #ipbwrapper .post-entry, .pun .post-entry, #phpbb div.post div.postbody div.content').each(function() {
    if( $('img:not([longdesc])', this).length > maxImages ) {
      var totalImages = $('img:not([longdesc])', this).length,
          diffImages = totalImages - maxImages,
          maxTextFinalValues = maxTextFinal.replace("{MAX}", maxImages).replace("{DIFF}", diffImages);
 
      if(displayTextReplace == true)
        $('img:not([longdesc]):gt('+ m +')', this).hide().wrap("<div class='hideImage'>"+ maxTextReplace +"</div>");
      else
        $('img:not([longdesc]):gt('+ m +')', this).hide();
 
      if(displayTextFinal == true)
        $(this).append( "<div class='hideImagesMessage'>"+ maxTextFinalValues +"</div>" )
        }
  });
});

Linee del codice precedente modificabili

Codice:
var maxImages = 4, // numero massimo di immagini per post
    displayTextReplace = true, // "false" per non visualizzare nulla al posto dell'immagine nascosta
    displayTextFinal = true,  // "false" per non visualizzare le informazioni sul numero di immagini nascoste alla fine del messaggio
    maxTextReplace = "Questa immagine è stata nascosta",
    maxTextFinal = "L'amministratore di questo forum ha deciso di visualizzare massimo {MAX} immagini per post.<br />{DIFF} immagini sono state nascoste.",

La variabile maxImages definisce il numero massimo di immagini per post, di default 4.
La variabile displayTextReplace permette di scegliere se le immagini nascoste vengono sostituite o meno da un testo (true: vengono sostituite, false: sono semplicemente nascoste). Questo testo può essere modificato dalla variabile maxTextReplace. Stessa operazione per il testo visualizzato alla fine del messaggio con le variabili displayTextFinal per attivarlo o meno, e la variabile maxTextFinal per il testo visualizzato.

Installazione del codice CSS di stile

Al percorso Pannello di amministrazione ► Visualizzazione ► CSS ► Foglio di stile CSS aggiungete il seguente codice:
Codice:
.hideImage, .hideImagesMessage {
    color: red;
    background-color: #FFF;
    width: 200px;
    text-align: center;
    padding: 5px 10px;
    border-radius: 3px;
}
.hideImagesMessage {
    width: 70%;
    margin: auto;
}

Il trucco è funzionale. Ovviamente puoi modificare questo CSS che modifica solo l'aspetto dei testi che sostituiscono le immagini. :good:


Niko
Niko
Moderatore
Moderatore

Sesso : Maschio
Età : 27
Messaggi : 9432
Località : Provincia di Varese

https://www.fmcodes.net/
Niko è stato ringraziato dall'autore di questo topic.

Visualizza l'argomento precedente Visualizza l'argomento successivo Torna in alto


 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.