mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
Making Href() tenant aware
This commit is contained in:
@@ -1,13 +1,11 @@
|
|||||||
@using Orchard.Environment.Configuration
|
@model dynamic
|
||||||
@model dynamic
|
|
||||||
|
|
||||||
@{
|
@{
|
||||||
var urlPrefix = WorkContext.Resolve<ShellSettings>().RequestUrlPrefix;
|
|
||||||
var siteName = WorkContext.CurrentSite.SiteName;
|
var siteName = WorkContext.CurrentSite.SiteName;
|
||||||
var siteLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Your site").Text;
|
var siteLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Your site").Text;
|
||||||
var appLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Project Orchard").Text;
|
var appLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Project Orchard").Text;
|
||||||
}
|
}
|
||||||
<div id="branding">
|
<div id="branding">
|
||||||
<div id="app">@Html.Link(appLinkText, Url.Content("~/" + urlPrefix))</div>
|
<div id="app">@Html.Link(appLinkText, Href("~/"))</div>
|
||||||
<div id="site">@Html.Link(siteLinkText, Url.Content("~/" + urlPrefix))</div>
|
<div id="site">@Html.Link(siteLinkText, Href("~/"))</div>
|
||||||
</div>
|
</div>
|
@@ -1,4 +1 @@
|
|||||||
@{
|
<h1 id="branding"><a href="@Href("~/")">@WorkContext.CurrentSite.SiteName</a></h1>
|
||||||
var homeUrl = Href("~/");
|
|
||||||
}
|
|
||||||
<h1 id="branding"><a href="@homeUrl">@WorkContext.CurrentSite.SiteName</a></h1>
|
|
||||||
|
@@ -6,6 +6,7 @@ using System.Web.WebPages;
|
|||||||
using Orchard.ContentManagement;
|
using Orchard.ContentManagement;
|
||||||
using Orchard.DisplayManagement;
|
using Orchard.DisplayManagement;
|
||||||
using Orchard.DisplayManagement.Shapes;
|
using Orchard.DisplayManagement.Shapes;
|
||||||
|
using Orchard.Environment.Configuration;
|
||||||
using Orchard.Localization;
|
using Orchard.Localization;
|
||||||
using Orchard.Mvc.Html;
|
using Orchard.Mvc.Html;
|
||||||
using Orchard.Mvc.Spooling;
|
using Orchard.Mvc.Spooling;
|
||||||
@@ -189,6 +190,19 @@ namespace Orchard.Mvc.ViewEngines.Razor {
|
|||||||
return writer;
|
return writer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private string _tenantPrefix = null;
|
||||||
|
public override string Href(string path, params object[] pathParts) {
|
||||||
|
if (_tenantPrefix == null) {
|
||||||
|
_tenantPrefix = WorkContext.Resolve<ShellSettings>().RequestUrlPrefix ?? "";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!String.IsNullOrEmpty(_tenantPrefix)) {
|
||||||
|
return base.Href(path, new [] {_tenantPrefix }.Concat(pathParts).ToArray());
|
||||||
|
}
|
||||||
|
|
||||||
|
return base.Href(path, pathParts);
|
||||||
|
}
|
||||||
|
|
||||||
public IDisposable Capture(Action<IHtmlString> callback) {
|
public IDisposable Capture(Action<IHtmlString> callback) {
|
||||||
return new CaptureScope(this, callback);
|
return new CaptureScope(this, callback);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user