Skip to content

Commit c24e902

Browse files
committed
Bugfixes: Error while no language is selected; Improvements: Checkbox for disabling generating sitemap
1 parent 9a97e48 commit c24e902

File tree

7 files changed

+70
-3
lines changed

7 files changed

+70
-3
lines changed
-231 KB
Binary file not shown.
231 KB
Binary file not shown.

Sitecore.SharedSource.DynamicSitemap/Constants/Messages.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,12 @@ public static class Messages
1212
public static readonly String ExecutionInterrupted = Label + "There are no sitemap configurations, execution interrupted.";
1313
public static readonly String NoConfigurations = Label + "There are no sitemap configurations.";
1414
public static readonly String NoGlobalScConfiguration = Label + "There is no global Sitecore configuration Item.";
15+
public static readonly String NoProcessedLanguages = Label + "There are no processed languages selected in global configuration.";
1516

1617
public static readonly String ExceptionWhileBuilding = Label + "Exception while building sitemap for {0} - {1}\n\n{2}";
1718

1819
public static readonly String SitemapBuildSuccess = Label + "Sitemap generated - {0}";
20+
public static readonly String SitemapDisabled = Label + "Sitemap generation is disabled";
1921

2022
public static readonly String SitemapSubmitterCannotSubmit = Label + "Cannot submit sitemap to \"{0}\" - {1}";
2123
public static readonly String SitemapSubmitterExceptionWhileSubmit = Label + "Search engine submission \"{0}\" returns an error - {1} \n\n{2}";

Sitecore.SharedSource.DynamicSitemap/DynamicSitemapGenerator.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,28 @@ public void ReadConfigurations()
109109
{
110110
ReadGlobalSitecoreConfiguration();
111111

112+
SiteConfigurations = new List<SitemapSiteConfiguration>();
113+
114+
if (SitecoreConfiguration.DisableSitemap)
115+
{
116+
Sitecore.Diagnostics.Log.Warn(Messages.SitemapDisabled, this);
117+
return;
118+
}
119+
112120
Item[] configurationItems = Database.SelectItems(DynamicSitemapConfiguration.SitemapConfigurationItemPath + DynamicSitemapConfiguration.SitemapConfigurationSitesFolderName + "/*[@@templateid='" + TemplateIds.SiteConfigurationTemplateId + "']");
113121

114122
if (configurationItems.Count() == 0)
115123
{
116124
Sitecore.Diagnostics.Log.Warn(Messages.NoConfigurations, this);
117125
return;
118126
}
119-
120-
SiteConfigurations = new List<SitemapSiteConfiguration>();
121-
127+
128+
if (SitecoreConfiguration.ProcessedLanguages.Count() == 0)
129+
{
130+
Sitecore.Diagnostics.Log.Warn(Messages.NoProcessedLanguages, this);
131+
return;
132+
}
133+
122134
foreach (var configurationItem in configurationItems)
123135
{
124136
var languageItems = configurationItem.Languages.Where(x => SitecoreConfiguration.ProcessedLanguages.Contains(x.Name)).ToList();
@@ -198,6 +210,8 @@ protected void ReadGlobalSitecoreConfiguration()
198210
SitecoreConfiguration.MainSiteConfigurationItem = mainSiteConfiguration;
199211
}
200212

213+
SitecoreConfiguration.DisableSitemap = globalConfigurationItem["Disable sitemap generation"] == "1";
214+
201215
SitecoreConfiguration.SearchEngines = !String.IsNullOrEmpty(globalConfigurationItem["Search Engines"])
202216
? globalConfigurationItem["Search Engines"].Split('|').ToList()
203217
: new List<String>();

Sitecore.SharedSource.DynamicSitemap/Model/DynamicSitemapSitecoreConfiguration.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,11 @@ namespace Sitecore.SharedSource.DynamicSitemap.Model
1212
/// </summary>
1313
public class DynamicSitemapSitecoreConfiguration
1414
{
15+
/// <summary>
16+
/// If disable whole sitemap generation
17+
/// </summary>
18+
public bool DisableSitemap { get; set; }
19+
1520
/// <summary>
1621
/// Configuration that will be used as main
1722
/// </summary>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
ID: "b0e21af0-0e62-4047-9859-73d57074320c"
3+
Parent: "8e0bf0cc-49a9-4d96-9b50-17c353a6c03e"
4+
Template: "e269fbb5-3750-427a-9149-7aa950b49301"
5+
Path: /sitecore/templates/Dynamic Sitemap XML/Global Configuration/General
6+
DB: master
7+
SharedFields:
8+
- ID: "ba3f86a2-4a1c-4d78-b63d-91c2779c1b5e"
9+
Hint: __Sortorder
10+
Value: 50
11+
Languages:
12+
- Language: en
13+
Versions:
14+
- Version: 1
15+
Fields:
16+
- ID: "25bed78c-4957-4165-998a-ca1b52f67497"
17+
Hint: __Created
18+
Value: 20170221T112452Z
19+
- ID: "5dd74568-4d4b-44c1-b513-0af5f4cda34f"
20+
Hint: __Created by
21+
Value: sitecore\admin
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
---
2+
ID: "46b23caf-b9ce-4365-aca7-9ba810199714"
3+
Parent: "b0e21af0-0e62-4047-9859-73d57074320c"
4+
Template: "455a3e98-a627-4b40-8035-e683a0331ac7"
5+
Path: /sitecore/templates/Dynamic Sitemap XML/Global Configuration/General/Disable sitemap generation
6+
DB: master
7+
SharedFields:
8+
- ID: "ab162cc0-dc80-4abf-8871-998ee5d7ba32"
9+
Hint: Type
10+
Value: Checkbox
11+
- ID: "ba3f86a2-4a1c-4d78-b63d-91c2779c1b5e"
12+
Hint: __Sortorder
13+
Value: 100
14+
- ID: "be351a73-fcb0-4213-93fa-c302d8ab4f51"
15+
Hint: Shared
16+
Type: Checkbox
17+
Value: 1
18+
Languages:
19+
- Language: en
20+
Versions:
21+
- Version: 1
22+
Fields:
23+
- ID: "25bed78c-4957-4165-998a-ca1b52f67497"
24+
Hint: __Created
25+
Value: 20170221T112452Z

0 commit comments

Comments
 (0)