Skip to content

Instantly share code, notes, and snippets.

@mcmullengreg
Created April 21, 2015 00:05
Show Gist options
  • Save mcmullengreg/0905b9706061b16ea7c3 to your computer and use it in GitHub Desktop.
Save mcmullengreg/0905b9706061b16ea7c3 to your computer and use it in GitHub Desktop.
Umbraco Structured Titles
@{
var homePage = "";
var pagesTitle = "";
var CatTitle = "";
var Level4Parent = "";
@* - HOMEPAGE TITLE - *@
if ( @Model.Level <= 1 && @Model.AncestorOrSelf(1).HasValue("pageTitle") ) {
homePage = @Model.AncestorOrSelf(1).pageTitle; }
else {
homePage = "Your Site Name"; @* Hardcoded Name if all else fails *@
}
@* - END HOMEPAGE TITLE - *@
@* Check Level so as to not confuse the homepage title code
@* Only check vars on Level 2 or above -*@
if ( @Model.Level > 1 ){
@* - Define the variables for each level of pages (up to 4) - *@
if ( @Model.HasValue("pageTitle") ) {
pagesTitle = @Model.pageTitle;
} else {
pagesTitle = @Model.Name;
}
if ( @Model.AncestorOrSelf(2).HasValue("pageTitle") ) {
CatTitle = @Model.AncestorOrSelf(2).pageTitle;
} else {
CatTitle = @Model.AncestorOrSelf(2).Name;
}
if ( @Model.Parent.HasValue("pageTitle") ) {
Level4Parent = @Model.Parent.pageTitle;
} else {
Level4Parent = @Model.Parent.Name;
}
}
@* - Output the page titles
@* - Note the various levels and title structures - *@
if ( @Model.Level <= 1 ){
@homePage
} else if ( @Model.Level == 2 ) {
@pagesTitle @Html.Raw(" | ") @homePage
} else if ( @Model.Level == 3 ) {
@pagesTitle @Html.Raw(" - ") @CatTitle @Html.Raw(" | ") @homePage
} else if ( @Model.Level >= 4 ) {
@pagesTitle @Html.Raw(" - ") @Level4Parent @Html.Raw(" - ") @CatTitle @Html.Raw(" | ") @homePage
} else {
@pagesTitle @Html.Raw(" | ") @homePage
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment