• [v9] Modifica al guestbook di Evo9 4 1
Currently:  

Autore Topic: [v9] Modifica al guestbook di Evo9  (Letto 25518 volte)

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
[v9] Modifica al guestbook di Evo9
« il: 28 Dicembre, 2011, 13:28:29 »
Il guestbook generato da Evo9 non prevede un'impaginazione dei messaggi, che si visualizzano uno sotto l'altro; il form per l'inserimento dei messaggi si posiziona in fondo ai messaggi stessi .... e la barra di scroll verticale risulta obbligatoria affinchè si possa visualizzare tutto il contenuto presente.

In queste prove ho cercato di superare questo limite, modificando la funzione showGuestBook nel file x5engine.php ed utilizzando per l'impaginazione dei commenti il plugin jquery.paginate.js.

Le modifiche al file x5engine.php sono modifiche delicate. Basta sbagliare a sostituire una riga o omettere un punto e virgola e ... non funziona più nulla. Inoltre ad ogni aggiornamento del programma occorre ripristinare il file originale e quindi riapportare le modifiche. Invito pertanto chi volesse provare ad applicare quanto scrivo, ad agire con estrema prudenza.

Sono state predisposte due varianti, una con un unico messaggio visibile alla volta http://stesil.unofficialwsx5.com/evo9/gbuno/ , una con un numero di messaggi più elevato, numero definibile in fase di progettazione del guestbook (in questa prova 4 messaggi): http://stesil.unofficialwsx5.com/evo9/gbdue/


Istruzioni:

1. Widgets guestbook

Inserire un oggetto html, impostare l'allineamento a sinistra, indicare il valore in pixel dell'altezza dell'oggetto (es 500), non selezionare "visualizza barre di scorrimento" e dall'elenco widgets scegliere GuestBook.
Nella finestra che compare indicare:
  • Public folder path: il percorso della cartella in cui verrà salvato il file contenente i messaggi; se la cartella è all'interno della root principale del sito, basta inserire il nome della cartella (assicurarsi che la stessa abbia i permessi di scrittura); se la cartella non esiste verrà generata automaticamente dal programma.
  • Show Captcha: selezionare la casella se al form di inserimento dei messaggi si vuole aggiungere il codice captcha.
  • Notification email address: inserire l'indirizzo email a cui inviare le notifiche di inserimento dei messaggi.
  • Show inserted Comments immediately: se la casella è spuntata, i messaggi verranno inseriti non appena un utente clicca sul tasto invio, in caso contrario sarà l'amministratore del sito che approverà i commenti dall'apposita pagina presente all'indirizzo miosito/admin. I parametri per accedere al pannello di amministrazione sono impostabili in "Impostazioni Avanzate" --> "Gestione Accessi" --> admin.
Effettuate tutte le scelte, viene visualizzata una finestra di dialogo che richiede se impostare la pagina con estensione php. Cliccare su sì.
In questo modo viene generato il codice per il guestbook, che appare all'interno dell'oggetto html

Codice:
Only registered users can see contents. Please click here to Register or Login.

2. Il plugin jquery.paginate.js

Scaricare dal sito http://tympanus.net/codrops/2009/11/17/jpaginate-a-fancy-jquery-pagination-plugin/  il plugin per l'impaginazione. Nel file zippato sono presenti il file js, una cartella css contenente il file style.css e una cartella contenente alcune immagini.

Aprire il file jquery.paginate.js con il blocco note per sostituire le parole "last" = ultimo messaggio inserito con "first" = primo messaggio inserito (ovviamente si possono inserire anche termini alternativi) :

riga 50
Codice:
Only registered users can see contents. Please click here to Register or Login.
e riga 82
Codice:
Only registered users can see contents. Please click here to Register or Login.
Aprire il file sytle.css sempre con il Notepad e modificare i percorsi delle immagini: css e immagini verranno salvati nella stessa cartella files.

Codice:
Only registered users can see contents. Please click here to Register or Login.
Nella scheda esperto dell'oggetto html, allegare i file per l'impaginazione dei commenti, e precisamente:
  • i file modificati jquery.paginate.js e style.css, allegare nella cartella files e selezionare "Collega i file alla pagina";
  • i file immagine che si trovano nella cartella images del plugin scaricato, se si desidera utilizzare l'opzione images="true", sempre nella cartella files.
3. L'impaginazione dei commenti

Aprire l'oggetto html con il codice per il guestbook generato dal programma, e, sotto il commento <!-- GuestBook.GuestBook: END -->, inserire il seguente codice js se si vuole visualizzare un unico commento per pagina:

Codice:
Only registered users can see contents. Please click here to Register or Login.
oppure questo codice, se si desidera visualizzare più di un commento per pagina:

Codice:
Only registered users can see contents. Please click here to Register or Login.
Il codice js si occupa di mostrare/nascondere i div che contengono i commenti in funzione del numero di pagina visualizzato. Le parti personalizzabili sono le proprietà grafiche dei numeri di paginazione e precisamente:
  • var displ = (pagina < 7)? pagina : 7; il numero indica quanti numeri di pagina devono essere sempre visibili. Se il numero di pagine presenti è inferiore al numero impostato, vengono visualizzate tutte le pagine.
  • border_color: '#fff', il colore del bordo
  • text_color: '#fff', il colore del testo
  • background_color: '#808080', il colore di sfondo
  • border_hover_color: '#000', il colore del bordo quando c'è il focus sull'elemento,
  • text_hover_color : '#000', il colore del testo quando c'è il focus sull'elemento,
  • background_hover_color: '#fff', il colore di sfondo quando c'è il focus sull'elemento,
  • images: false; se impostato a true visualizza come immagine i pulsanti di avanzamento delle pagine
Nella scheda esperto, codice css, inserire:
 
Codice:
Only registered users can see contents. Please click here to Register or Login.
in questo modo i commenti risultano invisibili finchè l'utente clicca sul numero di pagina corrispondente. Se la pagina viene visualizzata con js disattivato, nessun commento risulterà visibile. E' possibile aggiungere altre regole css per variare il colore dello sfondo o il colore del testo dei messaggi, assegnare un padding ... e personalizzare ulteriormente l'aspetto dei messaggi.

4. Le modifiche al file x5engine.php

Attenzione! Non apportare modifiche al file del programma, ma solo a quello del progetto che contiene il guestbook!

Sono state effettuate modifiche alla funzione showGuestBook allo scopo di:
*  separare il codice del form da quello dei messaggi, in modo da poterne variare la posizione nella pagina;
*  identificare i messaggi con una classe e un id univoco;
*  invertire l'ordine dei messaggi in modo tale che l'ultimo messaggio postato appaia per primo;
*  inserire un div per visualizzare i numeri di pagina.

Ripeto, le modifiche devono essere effettuate solo al file del progetto su cui si sta lavorando. Procedere in questo modo: esportare il progetto su disco, fare per sicurezza una copia del file x5engine.php presente nella cartella res, aprire con il Notepad o il Blocco note il file e sostituire le righe di codice  (versione 1748)

dalla riga 2389
[ Guests cannot view attachments ]

alla riga 2449
[ Guests cannot view attachments ]

con quelle presenti nell'allegato guestbookuno.php, per il guestbook con un unico messaggio visibile
[ Guests cannot view attachments ]

oppure con quelle presenti nell'allegato guestbookdue.php per il guestbook con più messaggi visibili.
[ Guests cannot view attachments ]

In quest'ultimo caso è possibile impostare il numero di messaggi che devono essere visualizzati in ogni pagina, cambiando il valore alla variabile $com_page, impostata a 4 nel codice allegato.

A questo punto consiglio di provare il progetto online. Se tutto funziona come dovrebbe, è possibile allegare il file x5engine.php modificato nella scheda esperto dell'oggetto html e inserirlo nella cartella res. In questo modo esso sostituirà l'originale, evitando una sovrascrittura delle modifiche ad ogni esportazione.
« Ultima modifica: 11 Febbraio, 2012, 19:49:55 da stesil »

GDR

  • Moderatore globale
  • Utente anziano
  • *****
  • Post: 576
Re:[v9] Modifica al guestbook di Evo9
« Risposta #1 il: 14 Gennaio, 2012, 13:49:05 »
Grazie... :D ;)
naturalmente poi elimina per non sporcare questo tutorial.

GDR

  • Moderatore globale
  • Utente anziano
  • *****
  • Post: 576
Re:[v9] Modifica al guestbook di Evo9
« Risposta #2 il: 14 Gennaio, 2012, 15:04:53 »
Dimenticavo il link:

http://www.giuliaquintavalle.it/guestbook.php

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Modifica al guestbook di Evo9
« Risposta #3 il: 14 Gennaio, 2012, 16:19:26 »
Non penso proprio che il tuo link possa "sporcare" il tutorial ... anzi!

... adesso sì che si vede un esempio veramente bello!

GDR

  • Moderatore globale
  • Utente anziano
  • *****
  • Post: 576
Re:[v9] Modifica al guestbook di Evo9
« Risposta #4 il: 14 Gennaio, 2012, 19:20:53 »
Grazie infinite....ma...!!
mi raccomado che non è un esempio... :D ;)

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Guestbook con più commenti per pagina
« Risposta #5 il: 11 Febbraio, 2012, 20:32:00 »
4. Le modifiche al file x5engine.php
[..]
Procedere in questo modo: esportare il progetto su disco, fare per sicurezza una copia del file x5engine.php presente nella cartella res, aprire con il Notepad o il Blocco note il file e sostituire le righe di codice  (versione 1748) dalla riga 2389 alla riga 2449
con quelle presenti nell'allegato guestbookdue.php per il guestbook con più messaggi visibili.


Su suggerimento di un utente, ho inserito in un unico codice nuove possibilità di personalizzazione del guestbook con più commenti per pagina (file allegato gbduebis.php).
Questo codice deve essere utilizzato per effettuare le modifiche al file x5engine.php come precedentemente indicato. (dalla riga 2398 alla riga 2458 per la versione 9.0.6.1775)

[ Guests cannot view attachments ]

Attraverso le variabili presenti all'inizio del codice è possibile impostare:
  • $com_page: imposta il numero di commenti per pagina, basta indicare il numero desiderato;
  • $ordinamento: imposta l'ordinamento dei commenti; se i commenti devono essere visualizzati in ordine crescente, in modo che il primo commento postato appaia per primo, assegnare alla variabile il valore 0; se invece i commenti devono essere visualizzati in ordine decrescente, in modo che l'ultimo commento postato appaia per primo, impostare il valore 1.
  • $sito: la variabile controlla la presenza o meno del campo "sito internet" nel form. Impostare a TRUE per rendere visibile il campo sito internet nel form; impostare a FALSE per togliere il campo sito internet dal form.
  • $abuse: la variabile determina la presenza dell'icona "segnala come abuso"; impostare a TRUE per rendere visibile l'icona; impostare a FALSE per togliere l'icona.
  • $max: indica il numero massimo di caratteri che possono essere inseriti in un commento.
Qui un ulteriore esempio: http://stesil.unofficialwsx5.com/evo9/gbduebis/
con questi valori impostati:
Codice:
Only registered users can see contents. Please click here to Register or Login.
« Ultima modifica: 12 Febbraio, 2012, 16:51:59 da stesil »

essedi

  • Anziani
  • Utente esperto
  • *
  • Post: 418
Re:[v9] Modifica al guestbook di Evo9
« Risposta #6 il: 12 Febbraio, 2012, 13:03:15 »
 Grazie Stesil,
sei riuscita a migliorare una cosa già ottima (non si potrebbe dire, ma quando ci vuole ci vuole).
Ora il Guestbook di EVO 9 è utilizzabile.

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Modifica al guestbook di Evo9
« Risposta #7 il: 12 Febbraio, 2012, 16:57:53 »
Grazie a te ... per aver avuto la pazienza di leggere il codice!

La segnalazione che mi hai fatto in mp è corretta: c'era una parte ridondante, che, pur non determinando malfunzionamenti, era assolutamente inutile. Ho corretto il codice e aggiornato il post con il nuovo allegato.

essedi

  • Anziani
  • Utente esperto
  • *
  • Post: 418
Re:[v9] Modifica al guestbook di Evo9
« Risposta #8 il: 12 Febbraio, 2012, 18:42:18 »
Grazie a te ... per aver avuto la pazienza di leggere il codice!

La segnalazione che mi hai fatto in mp è corretta: c'era una parte ridondante, che, pur non determinando malfunzionamenti, era assolutamente inutile. Ho corretto il codice e aggiornato il post con il nuovo allegato.

Bene! Lo scarico subito. Per quanto riguarda la mia seconda segnalazione, sbagliavo io.

djfrici

  • Nuovo arrivato
  • *
  • Post: 1
Re:[v9] Modifica al guestbook di Evo9
« Risposta #9 il: 13 Febbraio, 2012, 13:48:16 »
ciao[/size].[/color][/size]qualcuno mi aiuta a inserire questo codice nel mio x5engine.php.Sono ungherese e non capisco la lingua italiana.inviare una e-milbe incollato in una per me? :) [/color]

Miss. Lin

  • Utente inesperto
  • **
  • Post: 189
Re:[v9] Modifica al guestbook di Evo9
« Risposta #10 il: 23 Maggio, 2012, 13:02:16 »
Salve ragazzi,

ho provato passo per passo ad apportare le modifiche al guestbook come da indicazioni di Stesil, ma allo stato attuale si verifica un piccolo problema, il primo è che a questo link http://www.sflabrador.it/guestbook.php come potete vedere cmpare una striscia al si sotto della sezione messaggio. Inoltre vorrei poter cambiare i colori del guestbook ma se li setto all'interno dell'oggetto html questo non funziona. Secondo dovrei cambiarli all'interno del file jquery.paginate???

Grazie a tutti!

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Modifica al guestbook di Evo9
« Risposta #11 il: 23 Maggio, 2012, 15:35:19 »
Ciao,

c'è qualcosa che non mi torna nel codice della pagina che hai linkato ... quindi proviamo a prendere in considerazione una cosa alla volta.

Il colore dei testi: hai già provato a cambiare il colore del testo in Impostazioni Avanzate --> Stili e Modelli --> Testo della pagina?  Si può anche agire con del css personalizzato, ma prima, secondo me, è meglio provare da programma.

Quale tra i tre esempi postati hai utilizzato per personalizzare il tuo guestbook?
Tieni conto che se inserisci solo il file paginate.js ma non effettui le modifiche al file x5engine.php, tutta la struttura della paginazione non viene visualizzata ... 

Miss. Lin

  • Utente inesperto
  • **
  • Post: 189
Re:[v9] Modifica al guestbook di Evo9
« Risposta #12 il: 23 Maggio, 2012, 15:54:09 »
Ciao Stesil,

Il colore del testo l'ho modificato secondo tue indicazioni ed ho risolto il problema.

Ciò che compare e non dovrebbe è quella striscia scura rettangolare sotto la sezione messaggio.

Per quanto riguarda gli esempi ho utilizzato il seguente http://stesil.unofficialwsx5.com/evo9/gbdue/ con la variante di codice gbduebis.php.

Ti allego il file x5engine.php preso dal percorso che ho modificato ( \Swinging Fellow Labrador\Preview\res )

Invece il codice html che ho inserito sotto la seguente stringa <!-- GuestBook.GuestBook: END -->  è il medesimo:

<script type="text/javascript">
$(function() {
var pagina = $("div#commenti").children('div.post').length;
if(pagina != 0){
$("div.imBlogCommentsForm").parent().css('height','auto');
$("div#com1").addClass('_current').show();
var displ = (pagina < 7)? pagina : 7;
$("#pagingControls").paginate({
count: pagina,
start: 1,
display: displ,
border: true,
border_color: '#fff',
text_color: '#EADFBD',
background_color: '#808080',   
border_hover_color: '#ccc',
text_hover_color : '#000',
background_hover_color: '#fff',
images: true,
mouse: 'press',
onChange: function(page){
$('._current','#commenti').removeClass('_current').hide();
$('#com'+page).addClass('_current').show();
}
});
};
});
</script></div></div></div>

lemonsong

  • Anziani
  • Utente storico
  • *
  • Post: 1867
    • lemonsong's world
Re:[v9] Modifica al guestbook di Evo9
« Risposta #13 il: 23 Maggio, 2012, 16:11:36 »
[...]
</script></div></div></div>

Mi intrometto non avendo il programma e non avendo seguito il topic ma credo che ti sei portata dietro la chiusura di 3 div orfani.
Per gli altri problemi lascio la parola a stesil (scusa se mi sono inserito indegnamente  :) ).


Rikka

  • Nuovo arrivato
  • *
  • Post: 4
Re:[v9] Modifica al guestbook di Evo9
« Risposta #14 il: 23 Maggio, 2012, 17:56:07 »
Salve,
interessante modifica. Io però ho un problema che spero riuscite a darmi il consiglio giusto.

Inserisco il guestbook in un pagina del sito,  metto /public   come folder , mi arrivano le mail per la pubblicazione ma al momento in cui  approvo in admin non trovo nessun messaggio e nulla  viene  pubblicato sul sito.

grazie