mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-09-23 04:43:35 +08:00
Fixing RoutableService since by default there is no ISlugEventHandler implementation.
--HG-- branch : dev
This commit is contained in:
@@ -13,11 +13,11 @@ using Orchard.Core.Routable.Models;
|
|||||||
namespace Orchard.Core.Routable.Services {
|
namespace Orchard.Core.Routable.Services {
|
||||||
public class RoutableService : IRoutableService {
|
public class RoutableService : IRoutableService {
|
||||||
private readonly IContentManager _contentManager;
|
private readonly IContentManager _contentManager;
|
||||||
private readonly ISlugEventHandler _slugEventHandler;
|
private readonly IEnumerable<ISlugEventHandler> _slugEventHandlers;
|
||||||
|
|
||||||
public RoutableService(IContentManager contentManager, ISlugEventHandler slugEventHandler) {
|
public RoutableService(IContentManager contentManager, IEnumerable<ISlugEventHandler> slugEventHandlers) {
|
||||||
_contentManager = contentManager;
|
_contentManager = contentManager;
|
||||||
_slugEventHandler = slugEventHandler;
|
_slugEventHandlers = slugEventHandlers;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void FixContainedPaths(IRoutableAspect part) {
|
public void FixContainedPaths(IRoutableAspect part) {
|
||||||
@@ -51,7 +51,10 @@ namespace Orchard.Core.Routable.Services {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
FillSlugContext slugContext = new FillSlugContext(model.Title);
|
FillSlugContext slugContext = new FillSlugContext(model.Title);
|
||||||
_slugEventHandler.FillingSlugFromTitle(slugContext);
|
|
||||||
|
foreach (ISlugEventHandler slugEventHandler in _slugEventHandlers) {
|
||||||
|
slugEventHandler.FillingSlugFromTitle(slugContext);
|
||||||
|
}
|
||||||
|
|
||||||
if (!slugContext.Adjusted) {
|
if (!slugContext.Adjusted) {
|
||||||
var disallowed = new Regex(@"[/:?#\[\]@!$&'()*+,;=\s\""\<\>]+");
|
var disallowed = new Regex(@"[/:?#\[\]@!$&'()*+,;=\s\""\<\>]+");
|
||||||
@@ -65,7 +68,10 @@ namespace Orchard.Core.Routable.Services {
|
|||||||
slugContext.Slug = RemoveDiacritics(slugContext.Slug.Trim('.').ToLower());
|
slugContext.Slug = RemoveDiacritics(slugContext.Slug.Trim('.').ToLower());
|
||||||
}
|
}
|
||||||
|
|
||||||
_slugEventHandler.FilledSlugFromTitle(slugContext);
|
foreach (ISlugEventHandler slugEventHandler in _slugEventHandlers) {
|
||||||
|
slugEventHandler.FilledSlugFromTitle(slugContext);
|
||||||
|
}
|
||||||
|
|
||||||
model.Slug = slugContext.Slug;
|
model.Slug = slugContext.Slug;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user