Posts
165
Comments
253
Trackbacks
1
maggio 2009 Entries
VS 2010 Beta 1
E' arrivato anche il mio turno (Windows 7 + VS 2010 Beta 1 su VirtualBox) :-)



Spero di riuscire a provare qualche nuova feature il prima possibile...
posted @ venerdì 22 maggio 2009 14.55 | Feedback (0)
[OT] - Google-Triciclo
Dopo la Google-Car, per fotografare le città del mondo arriva il Google-Triciclo:

http://www.repubblica.it/2008/12/gallerie/tecnologie/triciclo-google/1.html

posted @ martedì 19 maggio 2009 8.17 | Feedback (0)
Umbraco, Web User Control e Media

 

E' da un po' di tempo che non riuscivo a postare, causa impegni lavorativi e/o universitari. Avendo trovato (finalmente!) 5 minuti di tempo, ho deciso di scrivere questo post, anche come promemoria.

Supponiamo di dover realizzare un Web User Control (.ascx) per Umbraco, in cui si vogliono visualizzare un certo numero d'informazioni, tra cui un'immagine aggiunta al catalogo dei Media del CMS. Una possibile strategia è quella di recuperare tramite l'id del nodo, (ad esempio 1069 come in figura) :

image

il percorso in cui è memorizzata l'immagine. Prima di tutto aggiungiamo al nostro progetto gli opportuni riferimenti alle librerie di Umbraco (umbraco.dll e cms.dll) ed importiamo le chiavi della sezione AppSettings del Web.Config di Umbraco nel nostro Web.Config. A questo punto possiamo scrivere una funzione del tipo seguente:

private string GetUrlImageByMediaId(string stringNodeId) 
{ 
   string mediaUrl = "";
   int intNodeId = 0;
   if (int.TryParse(stringNodeId, out intNodeId)) 
   { 
      System.Xml.XmlNode node = (umbraco.library.GetMedia(intNodeId, false).Current 
         as System.Xml.IHasXmlNode).GetNode(); 
         if (node != null) 
            mediaUrl = node.SelectNodes("//data[@alias='umbracoFile']")[0].InnerText; 
   } 
   return mediaUrl; 
} 

La funzione potrebbe essere modificata aggiungendo del codice che specifica l'url di un'immagine di default nel caso non fosse possibile recuperare l'url del Media specificato. Il valore del parametro stringNodeId viene impostato mediante l'utilizzo di una proprietà pubblica del nostro controllo denominata LabMediaId, di tipo stringa. Una volta testato il funzionamento del nostro controllo possiamo copiare i files .ascx e .dll nelle apposite cartelle di Umbraco. Supponendo di avere un Document Type in cui abbiamo definito una proprietà di nome e alias LabMediaId di tipo "Media Picker", per passare alla proprietà LabMediaId, il valore dell'Id del Media, possiamo utilizzare una particolare sintassi di Umbraco, all'interno della definizione del template del nostro Document Type:

<umbraco:Macro LabMediaId ="[#LabMediaId]" ... runat="server"></umbraco:Macro>

Dove i punti indicano la presenza di altri parametri. La versione di riferimento di Umbraco è la 4.0.1

Technorati Tag: ,,
posted @ domenica 17 maggio 2009 19.33 | Feedback (0)
Il "CD" da 100 DVD...
Un "CD" trasparente da 100 DVD. Notizia completa qui
posted @ giovedì 7 maggio 2009 13.18 | Feedback (0)
News

View Pietro Libro's profile on LinkedIn

Pietro Libro