Ogni tanto, quando si smanetta col codice del proprio sito/blog, capita di imbattersi in problemi abbastanza diffusi, ma la cui soluzione si trova (se si trova) nascosta tra i meandri del web. Dato che Recensopoli è un blog che ruba ai poveri per dare ai ricchi, ho deciso di inaugurare questa estemporanea rubrichetta, dove parlerò di quelle robe utili, ma poco note, che ogni tanto scopro quando mi prende la scimmia di cambiare qualcosa nel codice del blog.
Partiamo con un grattacapo in cui sicuramente si sarà imbattuto chiunque abbia un sito dai colori scuri ed abbia provato a infilarci dentro il Like Box di Facebook (alias il robo nella colonna qui a destra con le facce dei pregiatissimi fan del blog - se non l'avete ancora fatto, cliccate sul "mi piace" SUBITO!).
Il problema è che il codice ufficiale, che si può ricavare da qui, dà come risultato un box con lo sfondo trasparente - a meno che non si scelga la vomitevole versione "dark". Per questo, se non si usa uno sfondo bianco o comunque molto chiaro, l'effetto sarà piuttosto orrido - segue immagine d'esempio presa durante la nottata di lacrime e sangue che ha portato al super restyling del blog.
Recensopoli ci tiene alla privacy, mica come Zuckerberg |
In pratica il trucco consiste nel sostituire il tag <fb:like-box> con il tag <fb:fan> (di cui tra parentesi non si trova traccia cercando nell'help ufficiale di Facebook). L'unica cosa che cambia è che il <fb:fan> vuole tassativamente l'id numerico della pagina Facebook a cui farà riferimento: il normale URL non basta (a differenza che con il <fb:like-box>).
In pratica, un codice del genere:
va cambiato così:<fb:like-box href="http://www.facebook.com/recensopoli" stream="false" width="292"></fb:like-box>
Per trovare l'id della vostra pagina, potete cliccare sul link Modifica informazioni nella pagina stessa:<fb:fan profile_id="123456789012345" stream="false" width="292"></fb:fan>
Eccolo qua, preso da una pagina a caso |
Anche il Like Box generato dal tag <fb:fan> è però trasparente: per fargli fare il bravo, il trucco sta nell'associargli un foglio di stile (da caricare da qualche parte sul web - io ad esempio l'ho messo nella cartella pubblica di Dropbox) dove specificare il colore dello sfondo (che di default è impostato su transparent). In termini pratici, possiamo creare un file pippo.css con il blocco note e scriverci dentro questo:https://www.facebook.com/pages/edit/?id=123456789012345&sk=basic
dopodiché carichiamo pippo.css su un server qualunque (mettiamo caso su www.pippo.info) e lo diamo in pasto al <fb:fan> tramite la proprietà css (che non è supportata dal tag <fb:like>). Il codice diventerà dunque così:body.plugin{background: white}
Notate il "?1" alla fine dell'URL: in caso modificassimo il file .css, dovremo sostituirlo con un "?2" o con un qualsiasi altro numero, perché altrimenti Facebook penserà che sia lo stesso file e non starà a riscaricarselo.<fb:fan profile_id="123456789012345" stream="false" width="292" css="http://www.pippo.info/pippo.css?1"></fb:fan>
A questo punto, se tutto è andato bene, avrete il vostro Like Box bello perfettino, e potrete metterlo dove vi pare, senza essere forzati a scegliere un template con lo sfondo bianco.
Scovate le differenze |
BONUS COME HO FATTO A NON PENSARCI PRIMA EDITION:
In realtà c'è una maniera molto più semplice per avere quello stracaz di sfondo bianco: basta rinchiudere il codice generato per il Like Box in un banalissimo tag <div> impostato per avere lo sfondo bianco - ovvero, riprendendo l'esempio di prima:
In ogni caso con la versione <fb:fan> si ha un controllo più fine sui vari elementi del box, grazie al CSS (seee, la scusa...).<div style="background-color: white;"><fb:like-box href="http://www.facebook.com/recensopoli" stream="false" width="292"></fb:like-box></div>
Tutto molto bello. Il problema di fondo è che il widget di "FB", come tutte le applicazioni sviluppate da/per "FB" è "orendo" indipendentemente dai tweaks atti a migliorarlo...
RispondiEliminaE' impaginato in maniera oscena e pieno di bugs per quel che riguarda la visualizzazione degli utenti che ti hanno dato il "like" (il conteggio tipicamente è sempre sbagliato ed i doppioni in lista si sprecano...).
Inoltre, è tragicamente pensato per occupare uno spazio abominevole, ed a stringerlo per adattarlo ad una pagina pensata per essere visualizzata anche su risoluzioni video esigue (che, non sembra, ma sono LA MAGGIORANZA...) diventa, se possibile, ancora più brutto...
L'ho implementato un giorno sul mio blog e faceva un effetto posticcio talmente rivoltante che è durato tipo 15 secondi...
Faceva a pugni con il layout della pagina e con la pulizia del tutto ed era inaccettabile, IMHO.
Fosse altamente configurabile e si riuscisse a dargli un aspetto paragonabile a quello del GFC (che è sobrio e decisamente pulito...) si potrebbe anche pensare ad usarlo, ma finchè il montarozzo di zucchero non si deciderà a fornire un corredo di strumenti decenti, per FB, io passo...
Metto il link diretto alla pagina di "FB" e pace.
PS: Attento ai box "code" che hai aperto in questa pagina. Il testo sfora il corpo del post e ti invade la barra a destra...
Hola,
RispondiEliminagrazie per il bug report, non me n'ero accorto perché chrome fa il word wrap in automatico, mentre negli altri browser deve essere specificato...
Concordo che i widget di facebook sono lammerda, specie da un po' di tempo a questa parte - il fan box, pur con tutti i suoi difetti, era decisamente più pulito del like box (che ha quel bordino azzurro in alto che non si capisce che senso abbia).
Cmq a lato spesso penso a come facebook e google stiano plasmando il web. Non che mi manchino i tempi di myspace, tutt'altro... però da un lato c'è facebook che con i suoi widget dimmerda spinge tutti ad adottare template chiari, e dall'altro la voglia/necessità di essere su google favorisce uno stile di scrittura che massimizzi la visibilità delle keyword. Mah!
Guarda che "FB" è sopravvalutatissimo.
RispondiEliminaL'unica cosa che preme a Zuk e soci è quella di raccogliere introiti pubblicitari tramite gli inserzionisti a pagamento e gli sviluppatori di giochini integrati nel social network. Se così non fosse, gli strumenti un po' più seri e funzionali (tipo la pubblicazione automatica dei feeds RSS come note, per dirne una...) funzionerebbero. Invece sono rotti da anni, nessuno li fixa e per ottenere risultati simili bisogna ricorrere ad applicazioni di terze parti tipo "RSS Graffiti"...
Ad ogni modo, basta boicottarli tutti, che io, se un widget è inguardabile, non lo metto e festa finita. ;)
Concordo, i widget di facebook fanno schifo. Talvolta purtroppo sono necessari, dunque ti ringrazio della guida! Utilizzerò il trucco del div.
RispondiEliminaPrego, tra l'altro mi sono accorto che avevo lasciato un erroraccio nel codice relativo proprio a quel trucchetto... corretto ora!
Elimina