Sandy
01/23/2025, 12:10 PMnamespace Umbraco.Web.PublishedModels
{
public partial class PropertyBanner
{
public static List<SelectListItem> ScottishRegions => GetRegions("Scotland");
public static List<SelectListItem> EnglishRegions => GetRegions("England");
public static List<SelectListItem> Regions => ScottishRegions.Union(EnglishRegions).ToList();
private static List<SelectListItem> GetRegions(string country)
{
var helper = Composing.Current.UmbracoHelper;
var settings = helper.GetSettings();
var regionsSelectList = settings.RegionsRoot.Children.Cast<Region>()
.Where(r => r.Country == country).Select(r => new SelectListItem { Text = r.RegionName, Value = r.ReapitId }).ToList();
return regionsSelectList;
}
}
}
I've tried to replicate the behaviour on 13 but I'm honestly stuck. Any help is appreciated!Luuk Peters (ProudNerds)
01/23/2025, 12:15 PMskttl
01/23/2025, 12:52 PMGetRegions(this PropertyBanner propertyBanner, UmbracoHelper umbracoHelper, string country)
or GetRegions(this UmbracoHelper umbracoHelper, PropertyBanner propertyBanner, string country)
and then have ScottishRegions(this PropertyBanner propertyBanner, UmbracoHelper umbracoHelper
and so forthSandy
01/23/2025, 3:04 PMusing Microsoft.AspNetCore.Mvc.Rendering;
using Galbraith.Services;
using Galbraith.Extensions;
using Umbraco.Cms.Web;
namespace Umbraco.Cms.Web.Common.PublishedModels
{
public partial class PropertyBanner
{
private static UmbracoHelper umbraco;
public static List<SelectListItem> ScottishRegions => GetRegions("Scotland");
public static List<SelectListItem> EnglishRegions => GetRegions("England");
public static List<SelectListItem> Regions => ScottishRegions.Union(EnglishRegions).ToList();
private static List<SelectListItem> GetRegions(string country)
{
UmbracoHelper umbracoHelper = umbraco;
var settings = umbracoHelper.GetSettings();
var regionsSelectList = settings.RegionsRoot.Children.Cast<Region>().Where(r => r.Country == country).Select(r => new SelectListItem { Text = r.RegionName, Value = r.ReapitId }).ToList();
return regionsSelectList;
}
}
}
I just can't work out what step I'm missing... Is it just that I need to extract the regions function from the model and run it elsewhere? If so then I'm not sure how this worked in v8skttl
01/23/2025, 3:14 PMSandy
01/23/2025, 3:40 PMkdx-perbol
01/29/2025, 2:32 PMJason
01/31/2025, 12:39 PMcsharp
public static List<SelectListItem> GetScottishRegions(UmbracoHelper helper) => GetRegions(helper, "Scotland");
private static List<SelectListItem> GetRegions(UmbracoHelper helper, string country)
{
var settings = helper.GetSettings();
...
}
Jason
01/31/2025, 12:43 PMJason
01/31/2025, 12:44 PMthis.AncestorOrSelf<HomePage>().FirstChild<SiteSettings>()
etc.