Nei template Razor, in caso di rendering errato di locallink dovuto all'utilizzo di campi RichEditor e @Html.Raw, è necessario:
- inserire nel template il namespace @using Umbraco.Web.Templates
- modificare la riga interessata in questo modo: @Html.Raw(TemplateUtilities.ParseInternalLinks(myField.ToString()))
Per filtrare i nodi in base ad un campo non compilato è possibile utilizzare il seguente comando:
CurrentPage.Children.Where("Visible && !nomeCampo.HasValue()")
Questo righe di codice (Razor) permettono di visualizzare tutti i Tag utilizzati:
var tagList = Umbraco.TagQuery.GetAllContentTags().OrderBy(t => t.Text);
foreach (var tag in tagList)
{
<a href="#=">@tag.Text (@tag.NodeCount)</a>
}
Con queste righe invece è possibile filtrare i nodi in base ai tag utilizzati:
var pages = CurrentPage.Children.Where("Visible");
var allNodesWithTags = pages.Where("nmyField != \"\"");
List<string> taglist = new List<string>();
foreach (var node in allNodesWithTags)
{
taglist.AddRange(node.
nmyField
.ToString().Split(','));
}
taglist = taglist.OrderBy(q => q).ToList();
@foreach (string tag in taglist.Distinct())
{
<li><a href="#?tag=@tag">@tag</a></li>
}
Le funzioni da utilizzare per inserire nei log di umbraco messaggi custom sono le seguenti:
LogHelper.Info(System.Type, System.Func)
LogHelper.Error(System.Type, string, System.Exception)
E' necessario include la direttiva @using Umbraco.Core.Logging
nella pagina o codice sorgente.
@using Umbraco.Core.Logging
@{
// Inserimento di informazioni "custom"
LogHelper.Info(this.GetType(), "Message");
//Inserimento di errori "custom"
LogHelper.Error(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType, "messagge2", ex);
}