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 siteLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Your site").Text;
|
||||
var appLinkText = !string.IsNullOrWhiteSpace(siteName) ? siteName : T("Project Orchard").Text;
|
||||
}
|
||||
<div id="branding">
|
||||
<div id="app">@Html.Link(appLinkText, Url.Content("~/" + urlPrefix))</div>
|
||||
<div id="site">@Html.Link(siteLinkText, Url.Content("~/" + urlPrefix))</div>
|
||||
<div id="app">@Html.Link(appLinkText, Href("~/"))</div>
|
||||
<div id="site">@Html.Link(siteLinkText, Href("~/"))</div>
|
||||
</div>
|
@@ -1,4 +1 @@
|
||||
@{
|
||||
var homeUrl = Href("~/");
|
||||
}
|
||||
<h1 id="branding"><a href="@homeUrl">@WorkContext.CurrentSite.SiteName</a></h1>
|
||||
<h1 id="branding"><a href="@Href("~/")">@WorkContext.CurrentSite.SiteName</a></h1>
|
||||
|
@@ -6,6 +6,7 @@ using System.Web.WebPages;
|
||||
using Orchard.ContentManagement;
|
||||
using Orchard.DisplayManagement;
|
||||
using Orchard.DisplayManagement.Shapes;
|
||||
using Orchard.Environment.Configuration;
|
||||
using Orchard.Localization;
|
||||
using Orchard.Mvc.Html;
|
||||
using Orchard.Mvc.Spooling;
|
||||
@@ -189,6 +190,19 @@ namespace Orchard.Mvc.ViewEngines.Razor {
|
||||
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) {
|
||||
return new CaptureScope(this, callback);
|
||||
}
|
||||
|
Reference in New Issue
Block a user