diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs b/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs
index 9612327fd..ae148948e 100644
--- a/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs
+++ b/src/Orchard.Web/Modules/Orchard.Widgets/Filters/WidgetFilter.cs
@@ -20,6 +20,11 @@ namespace Orchard.Widgets.Filters {
}
public void OnResultExecuting(ResultExecutingContext filterContext) {
+ // layers and widgets should only run on a full view rendering result
+ var viewResult = filterContext.Result as ViewResult;
+ if (viewResult == null)
+ return;
+
var workContext = _workContextAccessor.GetContext(filterContext);
if (workContext == null ||
diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj b/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj
index 299f79a33..7ee68d518 100644
--- a/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj
+++ b/src/Orchard.Web/Modules/Orchard.Widgets/Orchard.Widgets.csproj
@@ -80,6 +80,7 @@
+
@@ -112,6 +113,7 @@
+
diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs
new file mode 100644
index 000000000..255c695e1
--- /dev/null
+++ b/src/Orchard.Web/Modules/Orchard.Widgets/RuleEngine/BuiltinRuleProvider.cs
@@ -0,0 +1,21 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Web;
+using Orchard.UI.Widgets;
+
+namespace Orchard.Widgets.RuleEngine {
+ public class BuiltinRuleProvider : IRuleProvider {
+ private readonly IWorkContextAccessor _workContextAccessor;
+
+ public BuiltinRuleProvider(IWorkContextAccessor workContextAccessor) {
+ _workContextAccessor = workContextAccessor;
+ }
+
+ public void Process(RuleContext ruleContext) {
+ if (string.Equals(ruleContext.FunctionName, "WorkContext", StringComparison.OrdinalIgnoreCase)) {
+ ruleContext.Result = _workContextAccessor.GetContext();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.Editor.cshtml b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.Editor.cshtml
new file mode 100644
index 000000000..c3a6edaa4
--- /dev/null
+++ b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.Editor.cshtml
@@ -0,0 +1,11 @@
+
+
+ @Display(Model.Primary)
+
+
+ @Display(Model.secondary)
+
+
+
\ No newline at end of file
diff --git a/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.cshtml b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.cshtml
index 0fa937dbb..cda3bc9ba 100644
--- a/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.cshtml
+++ b/src/Orchard.Web/Modules/Orchard.Widgets/Views/Items_Widget.cshtml
@@ -1,4 +1 @@
-TheWidget
-@Display(Model.Content)
-@Display(Model.Primary)
-@Display(Model.Body)
+@Display(Model.Content)
diff --git a/src/Orchard.Web/Themes/Classic/Views/Layout.cshtml b/src/Orchard.Web/Themes/Classic/Views/Layout.cshtml
index f4fff7312..9d5b5e135 100644
--- a/src/Orchard.Web/Themes/Classic/Views/Layout.cshtml
+++ b/src/Orchard.Web/Themes/Classic/Views/Layout.cshtml
@@ -26,8 +26,8 @@
@Display(Model.Content)
@* End Content *@
@Display.Footer(Navigation:Model.Navigation)