Hi Helena,
Thanks for pointing out the options. Apparently I am not missing an obviously standard function in the CMS.
My solution to the problem is still the way kbonnett suggested, I like the way it separates the content from all other pages, and the way it enables re-use of content:
1) Created a document type Information, with a Name and Description, where the Name is linked as the Document Name and can only be created in CMS.Folder objects.
2) Added a folder which is not shown in navigation, containing "generic information".
3) Added the following code to the code behind of the master page (FooterContentLeft and FooterContentRight are Literal controls):
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
FooterLeftContent.Text = GetInformation("FooterLinks");
FooterRightContent.Text = GetInformation("FooterRechts");
}
private string GetInformation(string pageName)
{
var content = TreeHelper.GetDocument(CMSContext.CurrentSiteName, "/Algemene-informatie/" + pageName, "nl-NL", true, "Wolfworks.Information", false);
if (content != null)
{
object value;
content.TryGetValue("Beschrijving", out value);
if (value != null)
{
return value.ToString();
}
}
return string.Empty;
}
When required, I can refactor the GetInformation function to a helper class or extension method, and build some extra caching in it.. But for now, it works.