From 717d8e6156d49665a53d230608e38ee276e49c68 Mon Sep 17 00:00:00 2001 From: Elitsa Marinovska Date: Tue, 21 Jul 2020 08:12:29 +0200 Subject: [PATCH] Migrating as many of the templates from Umbraco.Web.UI\Umbraco\PartialViewMacros\Templates --- .../Templates/Gallery.cshtml | 36 ++++++---- .../ListAncestorsFromCurrentPage.cshtml | 8 +-- .../ListChildPagesFromChangeableSource.cshtml | 16 +++-- .../ListChildPagesFromCurrentPage.cshtml | 13 ++-- .../ListChildPagesOrderedByDate.cshtml | 13 ++-- .../ListChildPagesOrderedByName.cshtml | 13 ++-- .../ListChildPagesOrderedByProperty.cshtml | 12 ++-- .../ListChildPagesWithDoctype.cshtml | 25 +++++++ .../ListDescendantsFromCurrentPage.cshtml | 72 +++++++++++++++++++ .../ListImagesFromMediaFolder.cshtml | 12 ++-- .../Templates/MultinodeTree-picker.cshtml | 12 ++-- .../Templates/Navigation.cshtml | 12 ++-- .../Templates/SiteMap.cshtml | 47 ++++++++++++ src/Umbraco.Web.UI/Umbraco.Web.UI.csproj | 54 +------------- .../ListChildPagesWithDoctype.cshtml | 22 ------ .../ListDescendantsFromCurrentPage.cshtml | 68 ------------------ .../Templates/SiteMap.cshtml | 44 ------------ 17 files changed, 233 insertions(+), 246 deletions(-) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/Gallery.cshtml (57%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml (77%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml (57%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml (56%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml (57%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml (57%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml (64%) create mode 100644 src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml create mode 100644 src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml (71%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml (63%) rename src/{Umbraco.Web.UI => Umbraco.Web.UI.NetCore}/Umbraco/PartialViewMacros/Templates/Navigation.cshtml (61%) create mode 100644 src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml delete mode 100644 src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml delete mode 100644 src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml delete mode 100644 src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Gallery.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Gallery.cshtml similarity index 57% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Gallery.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Gallery.cshtml index 8388c7a90d..ee2162b56d 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Gallery.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Gallery.cshtml @@ -1,10 +1,14 @@ @using Umbraco.Core.Models.PublishedContent @using Umbraco.Web @using Umbraco.Core -@using Umbraco.Core.Media -@using Umbraco.Web.Composing -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Core.Composing +@using Umbraco.Core.PropertyEditors.ValueConverters +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedContentQuery PublishedContentQuery +@inject IVariationContextAccessor VariationContextAccessor +@inject IPublishedUrlProvider PublishedUrlProvider +@inject IFactory Factory @* Macro to display a gallery of images from the Media section. Works with either a 'Single Media Picker' or a 'Multiple Media Picker' macro parameter (see below). @@ -26,28 +30,30 @@
@foreach (var mediaId in mediaIds.Split(',')) { - var media = Current.PublishedContentQuery.Media(mediaId); + var media = PublishedContentQuery.Media(mediaId); @* a single image *@ if (media.IsDocumentType("Image")) { - @Render(media) + Render(media); } @* a folder with images under it *@ - foreach (var image in media.Children(Current.VariationContextAccessor)) + foreach (var image in media.Children(VariationContextAccessor)) { - @Render(image) + Render(image); } }
} -@helper Render(IPublishedContent item) -{ -
- - @item.Name - -
+@{ + void Render(IPublishedContent item) + { + /*@
+ + @item.Name + +
;*/ + } } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml similarity index 77% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml index 070f67ff23..2b2e04064b 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListAncestorsFromCurrentPage.cshtml @@ -1,7 +1,7 @@ @using Umbraco.Core -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet makes a list of links to the of parents of the current page using an unordered HTML list. @@ -18,7 +18,7 @@ @* For each page in the ancestors collection which have been ordered by Level (so we start with the highest top node first) *@ @foreach (var item in selection.OrderBy(x => x.Level)) { -
  • @item.Name »
  • +
  • @item.Name »
  • } @* Display the current page as the last item in the list *@ diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml similarity index 57% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml index ec41d45c0c..0cc090fd9e 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromChangeableSource.cshtml @@ -1,7 +1,11 @@ +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent @using Umbraco.Web -@using Umbraco.Web.Composing -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedContentQuery PublishedContentQuery +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* Macro to list all child pages under a specific page in the content tree. @@ -19,15 +23,15 @@ @if (startNodeId != null) { @* Get the starting page *@ - var startNode = Current.PublishedContentQuery.Content(startNodeId); - var selection = startNode.Children.Where(x => x.IsVisible()).ToArray(); + var startNode = PublishedContentQuery.Content(startNodeId); + var selection = startNode.Children.Where(x => x.IsVisible(PublishedValueFallback)).ToArray(); if (selection.Length > 0) { } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml similarity index 56% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml index e6606d6204..1b3c04beb1 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesFromCurrentPage.cshtml @@ -1,6 +1,9 @@ -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet makes a list of links to the of children of the current page using an unordered HTML list. @@ -9,7 +12,7 @@ - It then generates links so the visitor can go to each page *@ -@{ var selection = Model.Content.Children.Where(x => x.IsVisible()).ToArray(); } +@{ var selection = Model.Content.Children.Where(x => x.IsVisible(PublishedValueFallback)).ToArray(); } @if (selection.Length > 0) { @@ -17,7 +20,7 @@ @foreach (var item in selection) {
  • - @item.Name + @item.Name
  • } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml similarity index 57% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml index 2c2cc4422b..896fdda614 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByDate.cshtml @@ -1,6 +1,9 @@ -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet makes a list of links to the of children of the current page using an unordered HTML list. @@ -10,14 +13,14 @@ - It then generates links so the visitor can go to each page *@ -@{ var selection = Model.Content.Children.Where(x => x.IsVisible()).OrderByDescending(x => x.CreateDate).ToArray(); } +@{ var selection = Model.Content.Children.Where(x => x.IsVisible(PublishedValueFallback)).OrderByDescending(x => x.CreateDate).ToArray(); } @if (selection.Length > 0) { } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml similarity index 57% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml index d0398e7272..b80ff6ead7 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByName.cshtml @@ -1,6 +1,9 @@ -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet makes a list of links to the of children of the current page using an unordered HTML list. @@ -10,14 +13,14 @@ - It then generates links so the visitor can go to each page *@ -@{ var selection = Model.Content.Children.Where(x => x.IsVisible()).OrderBy(x => x.Name).ToArray(); } +@{ var selection = Model.Content.Children.Where(x => x.IsVisible(PublishedValueFallback)).OrderBy(x => x.Name).ToArray(); } @if (selection.Length > 0) { } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml similarity index 64% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml index 1bffae04c4..fe121d8a36 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesOrderedByProperty.cshtml @@ -1,6 +1,10 @@ +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent @using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* Macro to list all child pages with a specific property, sorted by the value of that property. @@ -17,14 +21,14 @@ @if (propertyAlias != null) { - var selection = Model.Content.Children.Where(x => x.IsVisible()).OrderBy(x => x.Value(propertyAlias.ToString())).ToArray(); + var selection = Model.Content.Children.Where(x => x.IsVisible(PublishedValueFallback)).OrderBy(x => x.Value(PublishedValueFallback, propertyAlias.ToString())).ToArray(); if (selection.Length > 0) { } diff --git a/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml new file mode 100644 index 0000000000..6aa3771fd3 --- /dev/null +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml @@ -0,0 +1,25 @@ +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IVariationContextAccessor VariationContextAccessor +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider +@* + This snippet shows how simple it is to fetch only children of a certain Document Type. + + Be sure to change "IPublishedContent" below to match your needs, such as "TextPage" or "NewsItem". + (You can find the alias of your Document Type by editing it in the Settings section) +*@ + +@{ var selection = Model.Content.Children(VariationContextAccessor).Where(x => x.IsVisible(PublishedValueFallback)).ToArray(); } + +@if (selection.Length > 0) +{ + +} diff --git a/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml new file mode 100644 index 0000000000..a891839cec --- /dev/null +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml @@ -0,0 +1,72 @@ +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider +@* + This snippet creates links for every single page (no matter how deep) below + the page currently being viewed by the website visitor, displayed as nested unordered HTML lists. +*@ + +@{ var selection = Model.Content.Children.Where(x => x.IsVisible(PublishedValueFallback)).ToArray(); } + +@* Ensure that the Current Page has children *@ +@if (selection.Length > 0) +{ + @* Get the first page in the children, where the property umbracoNaviHide is not True *@ + var naviLevel = selection[0].Level; + + @* Add in level for a CSS hook *@ + +} + +@{ + void ChildPages(IPublishedContent[] selection) + { + //Ensure that we have a collection of pages + if (selection.Length > 0) + { + // Get the first page in pages and get the level + var naviLevel = selection[0].Level; + + // Add in level for a CSS hook + + } + } +} diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml similarity index 71% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml index 386bc824df..93bde0a1c4 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/ListImagesFromMediaFolder.cshtml @@ -1,7 +1,9 @@ +@using Umbraco.Core @using Umbraco.Web -@using Umbraco.Web.Composing -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedContentQuery PublishedContentQuery +@inject IPublishedUrlProvider PublishedUrlProvider @* Macro to display a series of images from a media folder. @@ -19,7 +21,7 @@ @if (mediaId != null) { @* Get the media item associated with the id passed in *@ - var media = Current.PublishedContentQuery.Media(mediaId); + var media = PublishedContentQuery.Media(mediaId); var selection = media.Children.ToArray(); if (selection.Length > 0) @@ -28,7 +30,7 @@ @foreach (var item in selection) {
  • - @item.Name + @item.Name
  • } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml similarity index 63% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml index d845e699e0..c8f0d9c52f 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/MultinodeTree-picker.cshtml @@ -1,7 +1,9 @@ +@using Umbraco.Core @using Umbraco.Core.Models.PublishedContent -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet lists the items from a Multinode tree picker, using the picker's default settings. Content Values stored as XML. @@ -10,7 +12,7 @@ multinode treepicker (so: replace "PropertyWithPicker" with the alias of your property). *@ -@{ var selection = Model.Content.Value>("PropertyWithPicker").ToArray(); } +@{ var selection = Model.Content.Value>(PublishedValueFallback, "PropertyWithPicker").ToArray(); } @if (selection.Length > 0) { @@ -18,7 +20,7 @@ @foreach (var item in selection) {
  • - @item.Name + @item.Name
  • } diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Navigation.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Navigation.cshtml similarity index 61% rename from src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Navigation.cshtml rename to src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Navigation.cshtml index 15427f4b3c..5476a3af61 100644 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/Navigation.cshtml +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/Navigation.cshtml @@ -1,14 +1,16 @@ @using Umbraco.Core -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider @* This snippet displays a list of links of the pages immediately under the top-most page in the content tree. This is the home page for a standard website. It also highlights the current active page/section in the navigation with the CSS class "current". *@ -@{ var selection = Model.Content.Root().Children.Where(x => x.IsVisible()).ToArray(); } +@{ var selection = Model.Content.Root().Children.Where(x => x.IsVisible(PublishedValueFallback)).ToArray(); } @if (selection.Length > 0) { @@ -16,7 +18,7 @@ @foreach (var item in selection) {
  • - @item.Name + @item.Name
  • } diff --git a/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml new file mode 100644 index 0000000000..e6ad50d200 --- /dev/null +++ b/src/Umbraco.Web.UI.NetCore/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml @@ -0,0 +1,47 @@ +@using Umbraco.Core +@using Umbraco.Core.Models.PublishedContent +@using Umbraco.Web.Routing +@inherits Umbraco.Web.Common.Macros.PartialViewMacroPage +@inject IPublishedValueFallback PublishedValueFallback +@inject IPublishedUrlProvider PublishedUrlProvider +@* + This snippet makes a list of links of all visible pages of the site, as nested unordered HTML lists. + + How it works: + - It uses a local method called Traverse() to select and display the markup and links. +*@ + +@{ var selection = Model.Content.Root(); } + +
    + @* Render the sitemap by passing the root node to the traverse method, below *@ + @{ Traverse(selection); } +
    + +@* Helper method to traverse through all descendants *@ +@{ + void Traverse(IPublishedContent node) + { + //Update the level to reflect how deep you want the sitemap to go + const int maxLevelForSitemap = 4; + + @* Select visible children *@ + var selection = node.Children.Where(x => x.IsVisible(PublishedValueFallback) && x.Level <= maxLevelForSitemap).ToArray(); + + @* If any items are returned, render a list *@ + if (selection.Length > 0) + { +
      + @foreach (var item in selection) + { +
    • + @item.Name + + @* Run the traverse method again for any child pages *@ + @{ Traverse(item); } +
    • + } +
    + } + } +} diff --git a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj index 88ba56b9a4..8e0d7177cf 100644 --- a/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj +++ b/src/Umbraco.Web.UI/Umbraco.Web.UI.csproj @@ -190,46 +190,6 @@ true PreserveNewest - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - - - true - PreserveNewest - true PreserveNewest @@ -238,22 +198,10 @@ true PreserveNewest - - true - PreserveNewest - - - true - PreserveNewest - true PreserveNewest - - true - PreserveNewest - @@ -409,4 +357,4 @@ - + \ No newline at end of file diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml b/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml deleted file mode 100644 index c90e419903..0000000000 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListChildPagesWithDoctype.cshtml +++ /dev/null @@ -1,22 +0,0 @@ -@using Umbraco.Core.Models.PublishedContent -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - -@* - This snippet shows how simple it is to fetch only children of a certain Document Type. - - Be sure to change "IPublishedContent" below to match your needs, such as "TextPage" or "NewsItem". - (You can find the alias of your Document Type by editing it in the Settings section) -*@ - -@{ var selection = Model.Content.Children().Where(x => x.IsVisible()).ToArray(); } - -@if (selection.Length > 0) -{ -
      - @foreach (var item in selection) - { -
    • @item.Name
    • - } -
    -} diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml b/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml deleted file mode 100644 index 7ae917b41d..0000000000 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/ListDescendantsFromCurrentPage.cshtml +++ /dev/null @@ -1,68 +0,0 @@ -@using Umbraco.Core.Models.PublishedContent -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - -@* - This snippet creates links for every single page (no matter how deep) below - the page currently being viewed by the website visitor, displayed as nested unordered HTML lists. -*@ - -@{ var selection = Model.Content.Children.Where(x => x.IsVisible()).ToArray(); } - -@* Ensure that the Current Page has children *@ -@if (selection.Length > 0) -{ - @* Get the first page in the children, where the property umbracoNaviHide is not True *@ - var naviLevel = selection[0].Level; - - @* Add in level for a CSS hook *@ -
      - @* Loop through the selection *@ - @foreach (var item in selection) - { -
    • - @item.Name - - @* if this child page has any children, where the property umbracoNaviHide is not True *@ - @{ - var children = item.Children.Where(x => x.IsVisible()).ToArray(); - if (children.Length > 0) - { - @* Call our helper to display the children *@ - @ChildPages(children) - } - } -
    • - } -
    -} - -@helper ChildPages(IPublishedContent[] selection) -{ - @* Ensure that we have a collection of pages *@ - if (selection.Length > 0) - { - @* Get the first page in pages and get the level *@ - var naviLevel = selection[0].Level; - - @* Add in level for a CSS hook *@ -
      - @foreach (var item in selection) - { -
    • - @item.Name - - @* if the page has any children, where the property umbracoNaviHide is not True *@ - @{ - var children = item.Children.Where(x => x.IsVisible()).ToArray(); - if (children.Length > 0) - { - @* Recurse and call our helper to display the children *@ - @ChildPages(children) - } - } -
    • - } -
    - } -} diff --git a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml b/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml deleted file mode 100644 index a4127a9636..0000000000 --- a/src/Umbraco.Web.UI/Umbraco/PartialViewMacros/Templates/SiteMap.cshtml +++ /dev/null @@ -1,44 +0,0 @@ -@using Umbraco.Core -@using Umbraco.Core.Models.PublishedContent -@using Umbraco.Web -@inherits Umbraco.Web.Macros.PartialViewMacroPage - -@* - This snippet makes a list of links of all visible pages of the site, as nested unordered HTML lists. - - How it works: - - It uses a custom Razor helper called Traverse() to select and display the markup and links. -*@ - -@{ var selection = Model.Content.Root(); } - -
    - @* Render the sitemap by passing the root node to the traverse helper, below *@ - @Traverse(selection) -
    - -@* Helper method to traverse through all descendants *@ -@helper Traverse(IPublishedContent node) -{ - @* Update the level to reflect how deep you want the sitemap to go *@ - const int maxLevelForSitemap = 4; - - @* Select visible children *@ - var selection = node.Children.Where(x => x.IsVisible() && x.Level <= maxLevelForSitemap).ToArray(); - - @* If any items are returned, render a list *@ - if (selection.Length > 0) - { -
      - @foreach (var item in selection) - { -
    • - @item.Name - - @* Run the traverse helper again for any child pages *@ - @Traverse(item) -
    • - } -
    - } -}