Enter flash site

Blog.mariocarboni.com

Mare Nostrum re - design

Mare Nostrum logo Mare Nostrum è una casa editrice Sassarese nata nel 1999. Attraverso un lavoro costante di ricerca e sviluppo, con diversi media e molti target è sempre riuscita a parlare della Sardegna in modo originale ed efficace, comunicando ed esportando uno life style che va oltre il made in Italy, come orgoglio di una identità unica.

Il Network informativo Mare Nostrum, composto dalla Rivista Sardegna Turismo, il giornale, le guide, i libri, le cartine e il portale, può contare su lettori nazionali e internazionali sempre più numerosi e affezionati.

MC Design è responsabile del design e di tutto il front-end, mentre la programmazione lato server è curata da Mondo Aperto Servizi Informatici. Il processo di conversione è tuttora in corso quindi qualsiasi segnalazione o suggerimento sarà ben venuto.

Templates per Movable Type

Risalgono ad una mia partecipazione a The Style contest.

UPDATE!
Mr Brown for Wordpress
RE-UPDATE
Mr Brown for wordpress is nolonger avaliable!

Hosting Talk re - design

logo Hosting TalkE’ online il nuovo HostingTalk, il portale sul mondo dell’hosting, con grafica rinnovata, nuovi contenuti e nuove sezioni.
MC Design ha realizzato il logo, il mockup ed il template completo per il blog che gira su Movable Type.
Complimenti ed auguri a tutto lo staff!

Primo su google?

google search view

Il pc è in crash, lavoro solo sul powerbook, frugo su google… e bam sono primo! che SEO! :)

Photoshop e XHTML/CSS

Da tempo avevo intenzione di pubblicare un articolo sulla realizzazione completa di un template basato sugli standards xhtml/css; un articolo che partendo dal canvas bianco di photoshop arrivasse alla realizzazione passo passo di un template:

Progressive Layout

Fixed size or liquid are the only way in wich you can build a layout? Probably not! A collegue, Alessandro Fulciniti, wrote a great article about a new possibility: progressive layout.
He shows how you can turn a CSS-based layout, fixed or liquid, into a progressive one. A progressive layout combines the advantages of both fixed and liquid because it has fixed size under and over certain resolutions, but it’s fluid between.

CSS menu e implementazione dello stato corrente con PHP

Un tutorial sulla realizzazione di un menu realizzato con una lista orizzontale in xhtml e CSS, associato ad un semplice script PHP per gestire lo stato corrente della navigazione.
Visualizza l’esempio del CSS menu

Lista non ordinata

Partiamo da una lista non ordinata e quindi da una struttura di questo tipo:

xhtml


<div id="menu">
<ul>
<li>
<a xhref=”menucss.php” accesskey=”1″><span>link1</span></a>

</li>
<li>
<a xhref=”menucss1.php” accesskey=”2″><span>link2</span></a>

</li>
<li>
<a xhref=”menucss2.php” accesskey=”3″><span>link3</span></a>

</li>
<li>
<a xhref=”menucss3.php” accesskey=”4″><span>link4</span></a>

</li>
<li>
<a xhref=”menucss4.php” accesskey=”5″><span>link5</span></a>

</li>
</ul>
</div>
Che produce questo:

Trasformiamo la lista verticale in una orizzontale applicando una prima formattazione CSS:

CSS


#menu ul{
list-style: none;
}

#menu ul li{
display: block;
float: left;
}
che produce:

Image-replacement

Vogliamo sostituire ogni link con un immagine diversa, quindi abbiamo bisogno di un identificatore univoco che ci permetta di gestire ogni singolo link. Creiamo quindi degli id con width e height uguali alle immagini create (in questo caso di larghezza 50px e altezza 21px) e li associamo ad ogni tag <li> della lista. Fatto questo, per rendere invisibile il testo adottiamo la ben nota tecnica di image-replacement, ovvero inseriamo un tag <span> all’interno del tag <a> in modo da poter applicare la regola:

#menu li a span{
display: none;
}
associamo , inoltre, un bordo rosso allo stato hover dei link e ad una classe che utilizzeremo per evidenziare la voce della lista corrispondente alla pagina corrente:

CSS


#menu ul{
list-style: none;
}

#menu ul li{
display: block;
float: left;
width: 50px;
height: 21px;
}

#menu li a{
display: block;
width: 50px;
height: 21px;
}

#menu li a:hover{
border-bottom: 1px solid #f00;
}

.corrente{
border-bottom: 1px solid #f00;
}

#menu li a span{
display: none;
}

#link1{
background: url(link1.gif) no-repeat;
}
#link2{
background: url(link2.gif) no-repeat;
}
#link3{
background: url(link3.gif) no-repeat;
}
#link4{
background: url(link4.gif) no-repeat;
}
#link5{
background: url(link5.gif) no-repeat;
}
Modifichiamo il codice xhtml per inserire gli identificatori:

xhtml


<div id=”menu”>
<ul>
<li id=”link1″>
<a xhref=”menucss.php” accesskey=”1″><span>link1</span></a>

</li>
<li id=”link2″>
<a xhref=”menucss1.php” accesskey=”2″><span>link2</span></a>
</li>
<li id=”link3″>
<a xhref=”menucss2.php” accesskey=”3″><span>link3</span></a>
</li>
<li id=”link4″>
<a xhref=”menucss3.php” accesskey=”4″><span>link4</span></a>
</li>
<li id=”link5″>
<a xhref=”menucss4.php” accesskey=”5″><span>link5</span></a>
</li>
</ul>
</div>

Mettiamo tutto insieme con lo script PHP

Vogliamo fare in modo che la voce di menu corrispondente alla pagina corrente venga evidenziata e non sia cliccabile. Possiamo, quindi, associare al link corrispondente una classe che ne modifichi l’aspetto e rimuovere il collegamento ipertestuale; questo però ci costringe a modificare ogni singola pagina. Posizioniamo allora, il menu in un file esterno e includiamo tale file in ogni pagina tramite la direttiva include(); di PHP, in questo modo:

<? include(”menu.php”); ?>

Passiamo ora alla realizzazione dello script in PHP che ci permette di modificare lo stato del menu in base all’URI della pagina corrente.

Memorizziamo con degli array, i nomi delle pagine, i nomi accesskey, il testo per i link e gli id. Avviamo un ciclo for e facciamo un controllo fra il nome dello script, che preleviamo dalla variabile $_SERVER(PHP_SELF), e l’array dove sono contenuti i nomi delle pagine:

PHP


<div id="menu">
<?
$links = array("menucss.php", "menucss1.php", "menucss2.php", "menucss3.php", "menucss4.php");
$access = array("a", "b", "c", "d".'e');
$testolink = array("link1", "link2", "link3", "link4", "link5");

echo “<ul>”;

for($i=0; $i<=count($links)-1; $i++) {
if($links[$i] == basename($_SERVER[’PHP_SELF’])) {
echo “<li id=\”$testolink[$i]\” class=\”corrente\”> <span>$testolink[$i]</span> </li>”;
}
else {
echo “<li id=\”$testolink[$i]\” >
<a xhref=\”$links[$i]\” accesskey=\”$access[$i]\” > <span>$testolink[$i] </span> </a></li>”;
}
}
?>
</div>

Visualizza l’esempio del CSS menu

Il primo è sempre un test

Da giorni avevo idea di aprire un blog, magari per metterci dentro qualche articolo o qualche riflessione sulle tecniche che utilizzo. Allora sono andato alla ricerca di qualche script pre-confezionato che fosse semplice e adattabile alle mie esigenze. Devo dire che in giro per la rete ce ne sono diversi (gratuiti), fatti molto bene e semplici da gestire, ma come al solito ho iniziato a frugarci dentro per vedere che soluzioni avessero adottato e ella fine un pò per mettermi alla prova e un pò per rimanere in linea con la filosofia di questo sito ho deciso di scriverne uno da me.
Quindi ecco il mio primo weblog fatto a mano… Ancora è grezzo, e la maggior parte del tempo lo sto impiegando a collaudare i controlli sulla sicurezza dei moduli per l’immissione dei dati da parte di eventuali visitatori poco simpatici….