Creare un widget personalizzato per inserire Google AdSense in BlogEngine.NET

Giorgio Borelli

 

Come creare un widget personalizzato di BlogEngine.NET per inserirgli il codice di Google AdSenseOrmai la piattaforma BlogEngine.NET per blog è ampiamente diffusa ed utilizzata da svariati blogger. Certo non ha ancora raggiunto i numeri di Wordpress ma si è comunque ritagliata un'ottima fetta di utenti, in continuo aumento fra l'altro.

Per chi non la conoscesse, BlogEngine.NET è una piattaforma di blogging sviluppata su .net framework in linguaggio C#, nata da un progetto Open Source inserito tra gli Starter Kits di ASP.NET.

Visto il suo sempre maggiore impiego, l'esigenze degli utenti che la utilizzano sono sempre crescenti, così la nascita di nuovi plug-in, theme e widgets la fà avvicinare ogni giorno sempre più alla sua più famosa e diretta concorrente Wordpress. Sotto alcuni punti di vista però BlogEngine.NET soffre ancora della sua relativa gioventù, ad esempio non è stato ancora creato un widget ad hoc per la gestione degli strumenti di monetizzazione messi a disposizione dal web. 

In questo articolo allora voglio mostrarvi come dare un ulteriore tocco in più a questa stupenda piattaforma per blog (che io stesso uso), realizzando un widget personalizzato per BlogEngine.NET nel quale inserire lo script del codice di Google AdSense a cui tutti noi blogger siamo largamente affezionati, andiamo a scoprire come fare.

I widget di BlogEngine.NET sono degli strumenti che implementano ed estendono le funzionalità di questa piattaforma per blog. Questi si possono aggiungere, spostare e gestire sulle barre laterali del vostro layout una volta che si è loggati come utente amministratore su BlogEngine.NET (BE).

Sono stati realizzati diversi widget di base per BE che implementano la newsletter, il search, il blogroll e tante altre funzionalità tipiche di un blog. Non esiste però ancora un widget ufficiale per gestire il codice di google adsense, vediamo passo passo come realizzarne uno.

 

Creiamo la cartella "Ads by Google" contenente lo user control widget.ascx

Apriamo la Solution di BlogEngine.NET con Visual Studio (la versione Express va benissimo) e posizioniamoci sulla cartella widgets (a livello di root), dentro di essa creiamo una nuova cartella e rinominiamola in "Ads by Google", all'interno della quale andremo ad inserire il nostro widget personalizzato per adsense. Attenzione, per il nome della cartella è importante che questo sia identico al nome che andremo a specificare più avanti in una proprietà del widget.

 

Creiamo lo user control widget.ascx

Dentro la cartella "Ads by Google" appena creata inseriamo uno user control dal nome widget.ascx, e poniamo all'interno del suo codice un div con id=newsletter, così facendo automaticamente formatteremo il nostro widget in maniera identica a quello per la newsletter, mantenendo lo stile del nostro layout.

All'interno del div, poniamo lo script del codice AdSense che vogliamo inserire. Il codice del nostro widget dovrebbe essere pressapoco così:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="widget.ascx.cs" Inherits="widgets_Ads_by_Google_widget" %>

<div id="newsletter">
    <script type="text/javascript"><!--
    google_ad_client = "pub-xxxxxxxxxxxxxxxx";
    /* Informaticando.NET - Links - 200x90 */
    google_ad_slot = "39xxxxxxxxxxxxx";
    google_ad_width = 200;
    google_ad_height = 90;
    //-->
    </script>

    <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
    </script>
</div>

Ovviamente sostituite il codice di Google AdSense con quello del vostro script.

 

Facciamo ereditare il nostro user control widget da quello base del BlogEngine.NET

Sfruttando il meccanismo dell'ereditarietà, specifichiamo nel codebehind che il nostro widget eredita dalla classe madre dei widget base di BlogEngine.NET, in modo che ne acquisisca tutte le caratteristiche già definite per essi, in questo modo:

public partial class widgets_Ads_by_Google_widget : WidgetBase
{
    ...
}

Come potete notare dopo la definizione del nome della classe parziale del nostro widget abbiamo aggiunto i due punti ed indicato il nome della classe madre, ovvero WidgetBase, specificando con questa sintassi che il nostro widget eredita da quello base.

 

Sovrascriviamo i metodi in Override della classe astratta WidgetBase

Sempre nel codebehind del nostro widget per google adsense, sovrascriviamo le proprietà "Name" ed "IsEditable", ed anche il metodo "LoadWidget()", in questo modo:

public override string Name
{
    get { return "Ads by Google"; }
}

public override bool IsEditable
{
    get { return false; }
}

public override void LoadWidget()
{
    Visible = true;
}

Facciamo bene attenzione che il valore stringa ritornato dalla proprietà Name deve essere identico al nome della cartella specificata per contenere il nostro widget, altrimenti incorreremo nell'errore "widget.ascx for AdSense not found".

 

Salviamo il file widget.ascx e godiamoci il risultato

A questo punto non ci resta che salvare il widget personalizzato per contenere il codice di Google AdSense in BlogEngine.NET appena creato e lanciare in esecuzione il progetto per goderci il risultato. Il nostro widget non solo mostrerà il codice AdSense ma avrà tutte le caratteristiche degli altri widget di BlogEngine.NET, sarà possibile crearlo, spostarlo e cancellarlo, ma non editarlo poichè alla proprietà "IsEditable" abbiamo impostato false in quanto il codice AdSense è uno script statico e non ve ne era bisogno. Eccovi uno screenshot di quello che ho ottenuto:

esecuzione del widget personalizzato di blogengine.net che mostra il codice di google adsense

Questo widget adsense per BlogEngine.NET non è stato da me realizzato, ma da uno sviluppatore presente su CodePlex, un certo prumery, che ha contribuito in questo modo ad ampliare e migliorare la piattaforma Open Source BlogEngine.NET per blog. Quindi è giusto citarlo poichè il merito è suo, io ho solo rivisto quanto da lui scritto, commentato e documentato per ricavarne questo articolo e portarlo a conoscenza di chi come me usa BlogEngine.NET per scrivere i propri articoli.

Questo codice può rappresentare anche un'ottima base per implementare nuovi e personalissimi widget per BlogEngine.NET al di là d'inserire il codice AdSense o meno. Chiunque voglia aggiungere qualcosa o apportare ulteriori modifiche al codice del widget per l'inserimento di Google AdSense in BlogEngine.NET, non ha che da farsi avanti, il codice è aperto o come si suol dire è Open Source.

Categorie: AdSense | ASP.NET | BlogEngine.NET | C#

Tags: , , ,

Commenti (12) -

Hello I just wanted to find out on what is the difference between blogenenigne and wordpress blogs? Is it easier to use or more efficient? I amseeing a lot of blogs powered by this software popping up lately and wondering if it is better or not? Thanks...

Rispondi

BlogEngine.NET is an open source .NET blogging project that was born out of desire for a better blog platform. A blog platform with less complexity, easy customization, and one that takes advantage of the latest .NET features.

BlogEngine.NET was designed using the current .NET framework and focused on simplicity, ease of extendibility, and innovative features.

Blogengine.net is less widespread than WordPress as younger, but technically and for ease of use has nothing to envy

Rispondi

in  pratica blogengine e un alternativa a wordpress blogger ecc giusto?
ah una domanda ma i meta tag vengono implementati nel codice per ogni pagina creata?

Rispondi

Si, BlogEngine.NET è una piattaforma per il blogging come lo è Wordpress, e sviluppata in ASP.NET anzichè PHP; è più giovane di Wordpress e per questo probabilmente non ha la stessa diffusione, anche se largamente usata e con un numero di utenti in continua crescita.
A mio avviso non ha nulla da invidiare a Wordpress, apparte forse qualche tema e plugIn in meno, e sono certo che presto saranno pressapoco allo stesso livello.

Certo, per ogni pagina o post creato è possibile specificare i tag meta desiderati, che poi non sono altro che il titolo, la descrizione ed i tag dell'articolo stesso, e vengono prelevati ed inseriti nella pagina creata in automatico.

Rispondi

blog engine e' il migliore strumento online gratuito per creare blog--- da provare

Rispondi

Non saprei dire con assoluta certezza se è la migliore, ma BlogEngine.NET è sicuramente una tra le migliori piattaforme per il blogging attualmente in uso.

Ottima anche per quel che rigurada la gestione dei commenti, notevolmente migliorata con la versione 1.6.0; attraverso i quali, alcuni pseudo-blogger possono postare commenti col il solo scopo di lasciare un backlink al proprio sito o blog!!!

Rispondi

Per chi ancora non sa dove mettere le mani per aggiungere il codice Adsense all’interno degli articoli esistono degli appositi plugin, il più efficace e semplice da usare si chiama Adman.

Rispondi

Grazie per la segnalazione, peccato che Adman sia un plugin per Wordpress, metre qui si stava parlando d'inserire AdSense in BlogEngine.NET

Rispondi

blogengine.net non mi ha mai convinto del tutto. d'altra parte ormai wordpress gira anche sui server windows...
perchè non usare wordpress? la community di supporto e i plugin sono certamente un fattore che dovrebbe spingere tutti ad usarlo...

Rispondi

Dici!!! Opinione molto discutibile, non fosse per altro che la diretta rivalità tra WP e BE spinge le rispettive community a migliorare le piattaforme e fare di più, e questo è un bene per tutti.

Personalmente non mi trovi assolutamente d'accordo ad una visione così ristretta, sarebbe un disastro monopolizzare il blogging con WP, si fermerebbe (o quasi) e non si avrebbe più crescita e creatività tra gli sviluppatori.
Infine, se sei giunta fin qui ed hai lasciato il tuo commento, vuol dire che qualcosa di buono anche BlogEngine.NET c'è l'ha.

Non voglio aggiungere altro in merito ai pregi o ai difetti dell'uno e dell'altro, spero invece che altri utenti dicano la loro in merito alla questione.

Rispondi

ma "ottima" cosa?

vabbò, ho capito, il solito spammer.

Rispondi

Aggiungi Commento

biuquote
Loading