Just finished adding that back in and will be in the next maintenance release (hopefully tonight...we're just cranking out tweaks as we see necessary and with all of the architectural changes we've made we're looking for some real-world feedback). For now if you need to add it back in you can modify App_Code/SkinBase.cs in the GetTemplateName method
Code:
/// <summary>
/// Determines which masterpage skin to use to render the site to the browsing customer
/// </summary>
/// <returns>The name of the file that is the masterpage</returns>
private string GetTemplateName()
{
String templateName = String.Empty;
m_ismobile = HttpContext.Current.Request.Browser.IsMobileDevice || CheckUserAgentForMobile;
templateName = CommonLogic.QueryStringCanBeDangerousContent("template");
if (templateName == null || templateName.Length == 0)
{
// undocumented feature:
templateName = AppLogic.AppConfig("Template" + CommonLogic.GetThisPageName(false));
}
if (templateName == null || templateName.Length == 0)
{
templateName = CommonLogic.IIF(AppLogic.ProductIsMLExpress() && !AppLogic.IsAdminSite, "expressTemplate", "template");
}
// when OverrideTemplate is overridden in a page that inherits from SkinBase, the value returned there will be
// the value assigned here
templateName = OverrideTemplate();
// sanity check to ensure that OverrideTemplate wasn't overridden in a page and
// then set to an empty string
if (templateName.Trim().Length == 0 || !CommonLogic.FileExists(SkinRoot + templateName))
{
if (m_ismobile)
{
templateName = "mobile_template.master";
}
else
{
templateName = "template.master";
}
}
// only start looking for localized masterpages if the GlobalConfig AllowTemplateSwitchingByLocale
// is set to true, so we don't unnecessarily check for multiple files on every page load
if (AppLogic.GlobalConfigBool("AllowTemplateSwitchingByLocale"))
{
String templateLocaleName = null;
String _url = String.Empty;
// try customer locale:
templateLocaleName = templateName.Replace(".master", "." + ThisCustomer.LocaleSetting + ".master");
_url = Path.Combine(SkinRoot, templateLocaleName);
m_TemplateFN = CommonLogic.SafeMapPath(_url);
// if the file doesn't exist, check the default locale
if (!CommonLogic.FileExists(m_TemplateFN))
{
// try default store locale path:
templateLocaleName = templateName.Replace(".master", "." + Localization.GetWebConfigLocale() + ".master");
_url = Path.Combine(SkinRoot, templateLocaleName);
m_TemplateFN = CommonLogic.SafeMapPath(_url);
}
// if we found a locale match, use the name of the localized masterpage
if (CommonLogic.FileExists(m_TemplateFN))
{
templateName = templateLocaleName;
}
}
m_TemplateName = templateName;
return templateName;
}
and then create a global config parameter called AllowTemplateSwitchingByLocale and set it to true
Code:
INSERT GlobalConfig([Name], [GroupName], [Description], [ConfigValue], ValueType) VALUES('AllowTemplateSwitchingByLocale', 'DISPLAY', 'Indicator of whether the site should attempt to load different masterpage skins based on the current locale of the browsing customer. This should only be enabled if you have multiple locales and have created different masterpages for each of your locales (eg. template.en-us.master, template.en-gb.master, etc...). Enabling this when you do not have multiple locales or when you have not created multiple masterpages that vary by locale can hinder the performance of your site.', 'true', 'boolean')