Skip to content

Instantly share code, notes, and snippets.

@csharpforevermore
Last active December 26, 2015 10:39
Show Gist options
  • Save csharpforevermore/7138237 to your computer and use it in GitHub Desktop.
Save csharpforevermore/7138237 to your computer and use it in GitHub Desktop.
@using uComponents.DataTypes.MultiUrlPicker.Dto
@using uComponents.DataTypes.UrlPicker
@inherits umbraco.MacroEngines.DynamicNodeContext
@{
const string propertyAlias = "propertyAlias";
MultiUrlPickerState links = null;
string value = CurrentModel.GetPropertyValue(propertyAlias);
if (!string.IsNullOrEmpty(value))
{
links = MultiUrlPickerState.Deserialize(value);
}
if (links != null && links.Items.Any())
{
<div class="related-links">
<h3>Related Links</h3>
<ul>
@foreach (var link in links.Items)
{
string target = link.NewWindow ? " target=\"_blank\"" : "";
<li>
@switch (link.Mode)
{
case UrlPickerMode.Content:
<a href="@Library.NodeById(link.NodeId).Url"@Html.Raw(target)>@(string.IsNullOrWhiteSpace(link.Title) ? Library.NodeById(link.NodeId).Name : link.Title)</a>
break;
case UrlPickerMode.Media:
<a href="@Library.MediaById(link.NodeId).umbracoFile"@Html.Raw(target)>@(string.IsNullOrWhiteSpace(link.Title) ? Library.MediaById(link.NodeId).Name : link.Title)</a>
break;
case UrlPickerMode.Upload:
<a href="@link.Url"@Html.Raw(target)>@link.Title</a>
break;
case UrlPickerMode.URL:
<a href="@link.Url"@Html.Raw(target)>@link.Title</a>
break;
}
</li>
}
</ul>
</div>
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment