Informazioni su projecteye

Alessandro Castellani, in arte projecteye, è un designer e programmatore italiano. Appassionato di gfx e opensource, passa il tempo libero a sperimentare nuovi programmi per trovare il perfetto sostituto di ogni software proprietario

Dividere articoli su più colonne in Wordpres 3.2

Salve a tutti

Ebbene si, come avrete sicuramente capito dall’eloquente titolo, sono qui a presentarvi un altro tutorial della serie Mangiare WordPress a Colazione (e non sentirsi affaticato durante il giorno).

Dopo il successo del precedente articolo che mostrava un rapido metodo per dividere gli articoli dell’home page in due colonne, questa volta si esagera e le colonne in questione sono tre. Ma come specificato nel titolo, il numero delle colonne è solo indicativo, perchè con il seguente metodo vi risulterà semplicissimo gestire i loop dei post e modificare tutte le informazioni per creare home page da due, tre, quattro colonne o anche più stili nella stessa pagina. Come fare? Lo vediamo subito.

Partiamo, come al solito, dall’esempio dell’home page di Project EYE.

Home page di project eye visualizzare articoli wordpress su tre colonne

Analizzando un attimo gli elementi da mostrare possiamo notare che sono molto pochi. Abbiamo una Featured Image, il titolo, le informazioni di pubblicazione, il baloon dei commenti ed il riassunto. Essendo il codice di wordpress usato per visualizzare gli articoli un loop, non dobbiamo fare altro che impostare questo tipo di visualizzazione una volta sola, ed il programma, automaticamente, stamperà a video gli articoli seguenti tutti nella stessa maniera. Vediamo con quante poche righe di codice si può ottenere questo risultato.

Prima di tutto dobbiamo controllare se ci sono degli articoli inseriti, in modo tale da evitare di richiamare una funzione che non stampa nulla ed evitare quindi sprechi di risorse.

<?php if(have_posts()): ?> <?php endif; ?>

Questo codice chiama una funzione di controllo che legge la presenza o meno di articoli. Se la risposta è SI, allora il programma farà vedere tutto quello che decidiamo di scrivere all’interno dei due tag php. A questo punto dobbiamo chiamare il loop necessario per far stampare in sequenza tutti gli articoli che abbiamo scritto.

<?php while ( have_posts() ) : the_post(); ?> <?php endwhile; ?>

Questa funzione potrebbe essere tradotta semplicemente con “fintanto che ho degli articoli, fammi vedere gli articoli”. Facile no? A questo punto non ci resta che usare le funzioni predefinite di wordpress per richiamare tutte le sezioni dell’articolo e quindi useremo:

  • the_post_thumbnail() per la featured image;
  • the_title() per il titolo
  • twentyeleven_posted_on() per la data e la categoria
  • the_excerpt() per il riassunto
  • comments_popup_link() per visualizzare i commenti

Tutti questi elementi ovviamente vanno richiamati all’interno di tag php <?php ?> altrimenti non funzionerebbero. Se provassimo ora a vedere la nostra pagina probabilmente vedremmo una serie scombinata di informazioni senza ordine e le featured image enormi. Dobbiamo quindi ordinare i contenuti ed assegnargli dimensioni e spaziature.

Per fare questo mi piace usare gli elenchi puntati ul e li ed i div per gestire i vari elementi.
Inoltre, cosa molto importante, dobbiamo tenere sotto controllo le dimensioni della Featured image, e per farlo dobbiamo usare questa semplice funzione.

<?php set_post_thumbnail_size(275,999); ?>

Inserendo questa funzione una sola volta prima del loop while di visualizzazione post, diciamo a wordpress di ridimensionare le featured image a 275px di larghezza. Il valore di altezza è impostato a 999px per lasciare a wordpress il compito di ridimensionarle mantenendo le proporzioni.

Quindi, sistemando il nostro codice ed avvalendoci dell’ausilio di alcune funzioni del tema Twenty Eleven, il nostro codice attualmente dovrebbe essere così.

<?php if ( have_posts() ) : ?>
<?php set_post_thumbnail_size(275,999); ?>
<ul id="article-home">
<?php while ( have_posts() ) : the_post(); ?>

<li>
<article id="post-<?php the_ID(); ?>" <?php post_class( $feature_class ); ?>>
<div>
<span id="feature"><a href="<?=get_permalink($post->ID)?>">
<?php if (has_post_thumbnail()) {the_post_thumbnail();}?></a></span>
<header>
<h1><a href="<?php the_permalink(); ?>"
title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ),
the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark">
<?php the_title(); ?></a></h1>

<div>
<?php twentyeleven_posted_on(); ?>
<?php if ( comments_open() && ! post_password_required() ) : ?>
<span>
<?php comments_popup_link( '<span>'
 . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1',
'comments number', 'twentyeleven' ), _x( '%', 'comments number',
'twentyeleven' ) ); ?>
</span>
<?php endif; ?>
</div><!-- .entry-meta -->

</header><!-- .entry-header -->
<?php the_excerpt(); ?>
<?php echo'<a href="'. get_permalink($post->ID) .
'" id="more">' . 'LEGGI TUTTO' . '</a>'; ?>
</div><!-- .entry-content -->

<footer>
<?php edit_post_link( __( 'Edit', 'twentyeleven' ),
'<span>', '</span>' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post-<?php the_ID(); ?> -->
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

A questo punto abbiamo definito i div e gli span con i loro nomi univoci. Non ci resta che creare un foglio di stile personalizzato per gestire font, colori, bordi, ecc. Se, come me, anche voi siete particolarmente pigri, potete usare il mio codice css per queste sezioni

#article-home {
	margin:0;
	padding:0;
	list-style: none outside none;
	width: 950px;
}
#article-home li {
	float: left;
	height: 420px;
	padding: 0;
	width: 285px;
}
#article-home li.centrale {
	padding: 0 47px;
}
#feature img {
	border: 5px solid #DBDBDB;
	box-shadow: 0 1px 2px #666666;
}
#more {
	background: none repeat scroll 0 0 #EEEEEE;
	border-radius: 0.3em 0.3em 0.3em 0.3em;
	box-shadow: 0 1px 1px #999999;
	color: #666;
	font-size: 10px;
	margin-top: -1em;
	padding: 5px 6px;
	text-shadow: 0 1px 0 #FFFFFF;
}
#more a {
	color: #666;
	font-size: 10px;
}
#more a:hover, #more a:active, #more a:focus {
	color: #FFF;
	text-decoration:none!important;
	text-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0;
	box-shadow: 0 1px 1px #666;
}
#more:hover, #more:active, #more:focus {
	background: none repeat scroll 0 0 #1982D1;
	color: #FFF;
	text-decoration:none!important;
	text-shadow: rgba(0, 0, 0, 0.3) 0 -1px 0;
	box-shadow: 0 1px 1px #666;
}

Gli altri stili, come entry-meta o article sono predefiniti di wordpress, quindi dovrete modificare i vostri per adattarli ai vostri gusti.

ATTENZIONE! Piccolo trucco in arrivo. Come avrete notato nel css ho impostato una spaziatura (padding) a zero per tutti i li che contengono gli articoli, ma subito dopo ho impostato una classe centrale ad un li dandogli una spaziatura. In poche parola ho creato lo stile per fare in modo che l’articolo in mezzo abbia una spaziatura orizzontale, mentre gli articoli a destra e sinistra no. Ma come faccio ora a dire a wordpress di applicare tale stile solo agli articoli che si ritrovano nella colonna al centro?

Semplice, utilizzo un contatore, ovvero una variabile che parte da 1 ed ogni volta che un articolo viene visualizzato aumenta. Con questo posso sapere esattamente quale articolo sarà al centro, perchè avrà sempre un numero multiplo di 3. Semplice matematica, parto da i=1, stampa il primo articolo e i=2, stampa il secondo articolo che è al centro ed i=3, stampa il terzo che è a destra ed i=4, stampo il quarto articolo che va a capo e si trova a sinistra ed i=5, stampo il quinto articolo che s ritrova al centro ed i=6. Andando avanti avrò i che sarà sempre multiplo di 3 e quindi non mi resta che usare questo semplice controllo.

<li <?php if ( ($i % 3)==0 ) : echo 'class="centrale"'; endif; ?>>

Dentro al li degll’articolo dico  wordpress che, se la la variabile i risulta essere multiplo di 3, assegnami la classe centrale. Tutto qui!

Per dare una bella sistemata e per non confonderci con le varie implementazioni fatte strada facendo, ecco di seguito il codice completo da copiare ed incollare nella vostra pagina index.php

<?php $i=1; if ( have_posts() ) : ?>
<?php set_post_thumbnail_size(275,999); ?>
<ul id="article-home">
<?php while ( have_posts() ) : the_post(); $i++; ?>

<li <?php if ( ($i % 3)==0 ) : echo 'class="centrale"'; endif; ?>>
<article id="post-<?php the_ID(); ?>" <?php post_class( $feature_class ); ?>>
<div class="entry-summary">
<span id="feature"><a href="<?=get_permalink($post->ID)?>">
<?php if (has_post_thumbnail()) {the_post_thumbnail();}?></a></span>
<header class="entry-header">
<h1 class="entry-title"><a href="<?php the_permalink(); ?>"
title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyeleven' ),
the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark">
<?php the_title(); ?></a></h1>

<div class="entry-meta">
<?php twentyeleven_posted_on(); ?>
<?php if ( comments_open() && ! post_password_required() ) : ?>
<span class="commento">
<?php comments_popup_link( '<span class="leave-reply">'
 . __( 'Reply', 'twentyeleven' ) . '</span>', _x( '1',
'comments number', 'twentyeleven' ), _x( '%', 'comments number',
'twentyeleven' ) ); ?>
</span>
<?php endif; ?>
</div><!-- .entry-meta -->

</header><!-- .entry-header -->
<?php the_excerpt(); ?>
<?php echo'<a href="'. get_permalink($post->ID) .
'" id="more">' . 'LEGGI TUTTO' . '</a>'; ?>
</div><!-- .entry-content -->

<footer class="entry-meta">
<?php edit_post_link( __( 'Edit', 'twentyeleven' ),
'<span class="edit-link">', '</span>' ); ?>
</footer><!-- .entry-meta -->
</article><!-- #post-<?php the_ID(); ?> -->
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

Spero che il tutorial vi sia utile e vi aiuti a comprendere meglio come funzionano i loop e come richiamare le varie parti di un articolo all’interno di essi. Per il resto, di seguito vi riporto l’utile link dalla pagine ufficiali dei Loop della guida di WordPress.

WordPress – The Loop

Come sempre, per qualsiasi dubbio o richiesta non esitate a commentare.

Alla prossima!

Gimp + Mypaint + Blender dal concept al render

Salve a tutti

Rieccoci qui a mostrarvi un piccolo ma fondamentale passo avanti nella realizzazione di Project EYE. Senza perderci troppo in chiacchiere andiamo a mostrarvi i frutti del nostro duro lavoro, ovvero la fantasmagorica automobile molto science e tanto tanto fiction che il nostro amato protagonista utilizzerà nella prima scena.

Prima di tutto, un fantastico concept in due parti

1. Realizzazione della base in MyPaint: 

2. Colorazione ed abbellimento in Gimp e MyPaint: 

Arrivati a questo punto non ci restava che realizzare le blueprints ed iniziare a modellare. Ora, devo ammettere che la modellazione ha portato con se giorni bui e momenti di depressione, non tanto per la complessità (effettivamente dato lo stile ultra-futuristico non erano necessari dettagli o abbellimenti), quanto per la necessità nel mantenere linee curve e continue, forme morbide e senza brusche interruzioni, cercando in ogni modo però di attribuire al modello un’aria imponente ed una sensazione di forza e velocità.

Beh, sperando di essere riusciti nel nostro intento, vi salutiamo con una carrellata di render di prova in un ambiente asettico. Fateci sapere cosa ne pensate.

     

A presto

Tutti gli effetti di post-produzioni sono stati eseguiti all’interno del Blender compositor.

Perché passare da OpenOffice a LibreOffice

Salve a tutti

Come primo articolo di questa nuova sezione “Articoli” tratteremo un argomento attuale di comune interesse, ovvero quale pacchetto di applicazioni per ufficio è meglio utilizzare.
Ora un gran boato si solleverà dal pubblico che a gran voce invocherà Office da un lato e iWork dall’altro, ma se anche voi come me siete stabili e soddisfatti utenti linux, queste due alternative vi scivoleranno addosso come la pioggia scrosciante che attanaglia Roma da un paio di giorni.
Fino ad oggi, o più precisamente fino a qualche mese fa, la migliore e più conosciuta alternativa opensource era il fantomatico OpenOffice.
Le sue caratteristiche principali sono state per anni la completa compatibilità nella lettura di formati office, sia delle versioni 97-2003 che delle successive, e la quasi totale uguaglianza di tutte le funzioni presenti nel pacchetto di casa Microsoft. Stabile e relativamente leggero non ha mai creato grossi problemi ed ha sempre restituito ciò che l’utilizzatore si aspettava. Ma allora…perché passare a LibreOffice?
La risposta è una sola e semplice: OpenOffice non è opensource come sembra al contrario di LibreOffice. Ma facciamo un piccolo passo indietro per capire meglio:

 

Tutto è iniziato quando la SunMicrosystems ha acquistato la StarDivision, una società tedesca che aveva sviluppato una suite per ufficio denominata StarOffice. Lo scopo della SunMicrosystems era quello di realizzare nel minor tempo possibile una suite per ufficio che potesse competere con Microsoft Office che in quegli anni (2000) dominava il mercato. Per fare ciò la società rilascio il codice sorgente di StarOffice in modo che le varie comunità di sviluppatori potessero lavorarci e far crescere il software a prezzi contenutissimi. Da qui nasce OpenOffice come lo conosciamo noi. Ora il problema fondamentale è la licenza con cui OpenOffice è stato registrato, ovvero la LGPL. Questa licenza è si opensource, ma non del tutto. Tale licenza ha al suo interno una clausola che obbliga tutti i programmatori che lavorano al codice “libero” e rilasciato del software, di firmare un contratto assicurando tutti i diritti delle modifiche effettuate alla casa madre. Quindi, ricapitolando, il codice è libero, viene rilasciato agli sviluppatori che ci lavorano, ma poi, quando tale codice viene implementato nel software questo torna ad essere totalmente sotto proprietà della società madre, garantendo allo sviluppatore una bella ceppa di min… ci siamo capiti.

Il tutto si è aggravato quando la SunMicrosystem è stata acquisita da Oracle nel 2010. Dopo l’acquisizione i rilasci degli aggiornamenti si sono fatti più radi ed alcuni sviluppatori hanno iniziato a sentire puzza di bruciato, dato che la Oracle dispone di una propria suite per ufficio a pagamento e per questo motivo molti dubitano sulla longevità di OpenOffice.

Da qui parte il progetto LibreOffice

LibreOffice nasce da quegli sviluppatori che hanno lavorato per anni ad OpenOffice sotto la SunMicrosystem, ed ora hanno deciso di realizzare e rilasciare un software opensource dalla testa ai piedi. La licenza di LibreOffice quindi non è più proprietaria ma riconosce la proprietà dei codici agli sviluppatori e lascia il software libero. Tutta la suite di LibreOffice si presenta identica all’ultima release di OpenOffice, avendo effettivamente lo stesso codice sorgente ed effettivamente gli stessi anni di sviluppo.
Il tutto è stato accompagnato dalla creazione della The Document Foundation, impegnat a sviluppare un software veramente libero ed a riunire tutti quegli sviluppatori e quei codici frammentati che per anni hanno fatto la vita di OpenOffice.

Come ciliegina sulla torta molte società opensource, tra cui canonical, sostengono a gran voce il progetto LibreOffice e la DocuFoundation, sostituendo persino OpenOffice con LibreOffice nella dotazione di software base delle maggiori distro Linux.

Quindi non mi resta che consigliarvi il passaggio, indirizzandovi ad una nuova community molto attiva e ad uno sviluppo continuo e ben seguito.

A presto

Piccola curiosità: la prima opera eseguita dagli sviluppatori di
LibreOffice è stata quella di ripulire il codice di OpenOffice per
togliere migliaia di righe di codice commentato in tedesco risalente
all'epoca di Star Office. Cosa sempre ignorata sia dalla
SunMicrosystem e dalla Oracle.

LINK UTILI

The Document Foundation su Twitter
LibreOffice sito italiano

Tutorial Videocopilot da After Effect a Blender

Salve a tutti

Rieccoci qui con un nuovo e fantastico articolo sulle infinite potenzialità di Blender. L’argomento del giorno sarà incentrato su come ricreare un effetto originariamente realizzato in After Effect, in Blender 2.5, senza l’ausilio di plugin o software esterni. Tutto all’interno, tutto in famiglia…curiosi?

L’idea mi è nata dopo aver letto questo interessantissimo e dettagliato articolo di François Tarlier, TD Artist della Ubisoft e grande appassionato di Blender e Visual effect. Nel suo articolo François illustra una serie di mancanze che ha Blender in merito alla sezione del VFX e mette a confronto il software Open Source con altri più avanzati in questo campo, come After Effect o Nuke. Inoltre consiglia di provare a ricreare un qualsiasi tutorial di base ideato per After Effect da Andrew Kramer sul sito videocopilot.net, per toccare con mano le difficoltà che si incontrano normalmente a causa della mancanza di tool specifici che altri programmi hanno.

Stimolato da questo articolo e  da questa nuova sfida sono andato zitto zitto, quatto quatto, a spulciare tutto l’elenco di tutorial da videocopilot ed ho selezionato il seguente e dopo una serie di tentativi sono giunto a questo risultato

Non male vero?

Come ci sono riuscito? Semplice, tentando, provando ed analizzando i singoli effetti all’interno del video. Ovviamente non conserverò questa fantastica conoscenza solo per me ma, grazie a questo splendido tutorial, la condividerò con il mondo intero.

In tutto sono 50 minuti di tutorial per un totale di 800 megabyte…insomma un parto. Il tutorial è in inglese , ma non vi preoccupate, non sono così bravo quindi è un inglese molto semplice e comprensibilissimo.

Per concludere (oggi mi sento magnanimo) metto a disposizione per il download il file sorgente di Blender, liberissimi di sezionarlo, modificarlo e riutilizzarlo come meglio credete. Ovviamente, se ne aveste voglia, lasciate un commentino qui sotto per mostrarmi i vostri risultati o quant’altro inerente al tutorial o al file.

DOWNLOAD .BLEND

Alla prossima settimana!

Fonti

Project Eye Opening theme in Blender 2.5

Salve a tutti.

Oggi vi scrivo per mostrarvi la sigla di apertura di Project EYE. Tranquilli non soffro di amnesia, sono consapevole di averla già realizzata ed avergli dedicato un precedente articolo, ma questa è diversa. Oltre ad avere un’animazione completamente diversa ed un piccolo re-mixing musicale, la cosa che rende speciale questa nuova versione è la sua natura completamente open source. Infatti tutto il processo realizzativo è stato eseguito in Blender 2.5. Grazie a questo piccolo esperimentos on oriuscito per la prima volta a cimentarmi con gli emettitori di particelle, il compositing in tempo reale durante un’animazione ed il fantastico video editor interno a Blender. Insomma, è stata una settimana difficile, ma alla fine la soddisfazione data dal prodotto finito è sempre maggiore della frustrazione che si prova nel “toppare” durante la costruzione dello stesso. Oltre al video che troverete in fondo all’articolo (caricato nel nostro nuovo e fantastico canale di Vimeo), di seguito potrete osservare alcuni screenshot delle fasi realizzative.

Modellazione del testo e controllo degli emettitori di particelle

Non è stato molto difficile realizzare l’emissione di particelle. Quello che mi ha causato un po di problemi è stato modificare i vari parametri per dargli la giusta velocità ed un life random abbastanza vario ed animato, in modo non trovarmi sempre la stessa forma d’onda per l’intero clip.

Compositing ed animazione dei parametri

Che dire del pannello di compositing di Blender? Quasi perfetto. Separando gli oggetti desiderati sui vari render layers si può gestire l’output desiderato con facilità grazie ai molti nodi messi a disposizione. Il bello è che anche in questo caso ogni singolo parametro è animabile.

Video editor strips

La vera svolta di Blender. Editare e montare i propri video senza uscire dal programma 3D per aprirne un altro e magari ritrovarsi con problemi di pixel aspet ratio, codec che funzionano male o importazioni fastidiose. I parametri di modifica ed effetti applicabili alle varie clip sono ancora pochi, ma per ora più che sufficienti per un buon montaggio.

Buona visione

WordPress come dividere gli articoli in due colonne

AGGIORNAMENTO: Dividere articoli su più colonne in Wordpres 3.2

Salve a tutti!

In questo tutorial vi mostrerò il metodo che ho usato per “splittare” gli articoli visualizzati in home page in un tema wordpress classico. Personalmente sono partito dal tema di default, ma sono sicuro che con qualche piccola modifica i codici possano essere adattati a qualsiasi tema. Iniziamo visualizzando il nostro risultato finale.

Come noterete ogni articolo è stato impostato per potersi sposare bene con il nuovo layout, disponendo di un riassunto ed un’immagine in evidenza (featured image), quindi per prima cosa creiamo un nuovo articolo impostiamo un’ immagine in evidenza ed inseriamo una breve descrizione nel campo riassunto, subito sottostante il campo dedicato al corpo dell’articolo.

Ora non ci resta che entrare nell’editor del nostro tema, selezionare la pagina da modificare (nel mio caso index.php) e sostituire il codice relativo alla visualizzazione dei post, lo riconoscerete dalla funzione if (have_posts()), con il seguente:

<?php if (have_posts()) : $i=0;?>

<?php while (have_posts()) : $i++; the_post(); ?>

<?php if($i % 2 == 0) : ?><div id=”right-column”><?php else : ?><div id=”left-column”><?php endif; ?>

<h2><div id=”calend”><span><?php the_time(‘Y’); ?></span><br /><span><?php the_time(‘j’); ?></span><br /><span><?php the_time(‘M’); ?></span></div><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php printf(__(‘Permanent Link to %s’, ‘kubrick’), the_title_attribute(‘echo=0′)); ?>”><?php the_title(); ?></a></h2><small><?php comments_popup_link(__(‘<div id=”baloon”>0</div> Comments’, ‘kubrick’), __(‘<div id=”baloon”>1</div> Comment’, ‘kubrick’), __(‘<div id=”baloon”>%</div> Comments’, ‘kubrick’), ”, __(‘Comments Closed’, ‘kubrick’) ); ?></small>
<?php set_post_thumbnail_size(305,999); ?>
<span id=”feature”><a href=”<?=get_permalink($post->ID)?>”><?php if (has_post_thumbnail()) {the_post_thumbnail();}?></a></span>
<?php the_excerpt();?>
<?php echo’<a href=”‘. get_permalink($post->ID) . ‘” id=”more”>’ . ‘READ MORE’ . ‘</a>’; ?>

</div>

<?php endwhile; ?>

<?php endif; ?>

All’interno del codice di richiamo dei post viene dichiarata una variabile numerica $i, che parte da una valore di 0 ed incrementa di uno ogni volta che la funzione completa il ciclo e richiama un nuovo post. Quindi così facendo il primo post avrà $i=1, il secondo $i=2, e così via. In questo modo possiamo dire a wordpress di cambiare il div contenitore dei vari post a seconda se siano pari o dispari, grazie all’operazione $i % 2. Se il risultato è pari, l’articolo sarà contenuto nel div “right-column”, altrimenti nel div “left-column”.

La funzione set_post_thumbnail_size() ci permette di ridimensionare a piacimento la nostra immagine in evidenza. Il primo parametro è la lunghezza, il secondo è l’altezza.
A questo punto richiamiamo il nostro riassunto tramite la funzione the_excerpt().

Ora non ci resta che inserire nella nostra pagina style.css il seguente codice:

div#left-column {width: 305px;float: left;clear: none;height: 305px;margin-right:15px}
div#right-column {width: 305px;float: right;clear: none;height: 305px;margin-left:15px}
div#left-column h2, div#right-column h2{margin-top:5px;}

Ecco fatto! Ovviamente potete applicare tale modifica anche alle altre pagine del vostro tema, come ai risultati di ricerca o all’elenco di post per categorie, in ogni caso i parametri sono pochi e facilmente modificabili.

Spero di aver aiutato o almeno reso la vita un po più facile a qualcuno; per ulteriore aiuto o critiche potete usare il modulo commenti, per il resto, buon proseguimento a tutti.

Ale