Skip to content

Instantly share code, notes, and snippets.

View SitefinityGuru's full-sized avatar

Sitefinity Guru SitefinityGuru

View GitHub Profile
@SitefinityGuru
SitefinityGuru / CodeBehind.cs
Created April 5, 2012 23:24
Bind to a List of Countries using Sitefinity Ecommerce Config
Country.DataSource = Config.Get<EcommerceConfig>().Countries.Values.Where(x => x.CountryIsActive == true).ToList().OrderBy(x => x.Name);
Country.DataTextField = "Name"; // other properties: IsoCode, Culture, CurrencyName, CurrencyIsoCode, CurrencyIsoNumericCode
Country.DataValueField = "Name";
Country.DataBind();
@SitefinityGuru
SitefinityGuru / RemoveSitefinityPageExtensions.cs
Created April 17, 2012 19:49
Remove Sitefinity Page Extensions
using (var api = App.WorkWith())
{
var pages = api.Pages().LocatedIn(PageLocation.Frontend).ThatArePublished()
.ForEach(page =>
{
page.Extension = null;
}).SaveChanges();
}
@SitefinityGuru
SitefinityGuru / CompiledControls.cs
Created April 24, 2012 23:42
Programmatically Adding Controls to a Sitefinity Page
var control = new NewsView();
var pageControl = pageManager.CreateControl<PageControl>(control, placeHolder);
pageNode.Page.Controls.Add(pageControl);
pageManager.SaveChanges();
@SitefinityGuru
SitefinityGuru / BlogTaxonomyControl.cs
Created May 8, 2012 02:49
Custom Taxonomy Control to filter taxonomy by Blog ID
/// <summary>
/// Custom Sitefinity Taxonomy Control to display taxonomy items for a specific Blog
/// </summary>
public class BlogTaxonomyControl : TaxonomyControl
{
public Guid ParentBlogID { get; set; }
/// <summary>
/// Raises the <see cref="E:System.Web.UI.Control.Load"/> event.
/// </summary>
@SitefinityGuru
SitefinityGuru / ModuleInstall.cs
Created June 1, 2012 02:59
Install Widgets for your Sitefinity Module during Module Installation
public override void Install(SiteInitializer initializer)
{
#region Install Toolbox Widgets
// get section from toolbox
var config = initializer.Context.GetConfig<ToolboxesConfig>();
var pageControls = config.Toolboxes["PageControls"];
var section = pageControls
.Sections
.Where<ToolboxSection>(e => e.Name == ToolboxesConfig.ContentToolboxSectionName) // Or other section eg: "NavigationControlsSection"
@SitefinityGuru
SitefinityGuru / IncludeCss.ascx
Created June 7, 2012 22:21
Including CSS in a Sitefinity User Control
<%@ Register TagPrefix="sitefinity" Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" %>
<sitefinity:ResourceLinks ID="ResourceLinks1" runat="server" UseEmbeddedThemes="false">
<sitefinity:ResourceFile Name="~/Path/To/File.css" />
</sitefinity:ResourceLinks>
@SitefinityGuru
SitefinityGuru / AddControlDefaultPermissions.cs
Created June 8, 2012 15:25
Add a Control to a Sitefinity Page with Default Permissions
var ctrl = pageManager.CreateControl<PageControl>("~/Path/To/Control.ascx", "ContentPlaceholderName");
pageManager.SetControlDefaultPermissions(control);
pageData.Controls.Add(control);
@SitefinityGuru
SitefinityGuru / PublishContentItem.cs
Created June 14, 2012 16:36
Publishing Dynamic Sitefinity Module Items
var bag = new Dictionary<string, string>();
bag.Add("ContentType", FULL_NAME_OF_CONTENT_TYPE);
WorkflowManager.MessageWorkflow(dynamicContentItem.Id, dynamicContentType, null, "Publish", false, bag);
@SitefinityGuru
SitefinityGuru / GetPageNodeUrl
Created June 22, 2012 22:50
Get Page Node Url From Guid
public string GetPageUrl(Guid PageID)
{
var mgr = PageManager.GetManager();
var pageNode = mgr.GetPageNode(PageID);
return pageNode.GetFullUrl();
}
@SitefinityGuru
SitefinityGuru / DynamicContentSelectorField.cs
Created July 19, 2012 21:44
Sitefinity Dynamic Content Selector Field
/// <summary>
/// A simple field for displaying related dynamic content items in a drop-down menu.
/// Requirements:
/// * the name of the field must exactly match the name of the content type being displayed
/// * the content type must be within the same module as the content type using this field
/// </summary>
public class DynamicContentSelectorField : ChoiceField
{
/// <summary>
/// Defaults the rendering of the list as a drop-down menu