Views for a new Widget

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
12 anos atrás
Hi guys,

I'm creating a new Widget in NopCommerce 2.1. I base my widget on Google Analytic widget. However, after installing the widget, NopCommerce 2.1 seems like can't find the path for the view pages of the widget. Here is the error:

Server Error in '/' Application.

The view 'Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.InvalidOperationException: The view 'Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml

Source Error:


Line 50:     if (!String.IsNullOrEmpty(Model.ConfigurationActionName))
Line 51:     {
Line 52:     @Html.Action(Model.ConfigurationActionName, Model.ConfigurationControllerName, Model.ConfigurationRouteValues);
Line 53:     }
Line 54:     if (ViewBag.RedirectedToList == true)

Source File: c:\Users\Tri\Documents\Koneka\Koneka\NopCommerce\Main\Presentation\Nop.Web\Administration\Views\Widget\Create.cshtml    Line: 52

Stack Trace:


[InvalidOperationException: The view 'Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure' or its master was not found or no view engine supports the searched locations. The following locations were searched:
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Themes/DeepSkyBlue/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/WidgetsFacebookLike/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.cshtml
~/Views/Shared/Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure.vbhtml]
   System.Web.Mvc.ViewResult.FindView(ControllerContext context) +318926
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +129
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +23
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +260
   System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +177
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.Mvc.<>c__DisplayClassa.<EndProcessRequest>b__9() +23
   System.Web.Mvc.<>c__DisplayClass4.<Wrap>b__3() +12
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Func`1 func) +38
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Action action) +65
   System.Web.Mvc.ServerExecuteHttpHandlerAsyncWrapper.EndProcessRequest(IAsyncResult result) +71
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1072

[HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +3058371
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +77
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +28
   System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +22
   System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) +497
   System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) +88
   ASP._Page_Administration_Views_Widget_Create_cshtml.Execute() in c:\Users\Tri\Documents\Koneka\Koneka\NopCommerce\Main\Presentation\Nop.Web\Administration\Views\Widget\Create.cshtml:52
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +81
   System.Web.WebPages.StartPage.RunPage() +19
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +65
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +220
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +115
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +303
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +23
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +260
   System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +177
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8963149
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184


Please help. Thanks in advance
12 anos atrás
Have you marked Configure.cshtml view as embedded?
12 anos atrás
a.m. wrote:
Have you marked Configure.cshtml view as embedded?


Thanks. That fixed the error
12 anos atrás
a.m. wrote:
Have you marked Configure.cshtml view as embedded?


After set the Configure.cshtml and PublicInfo.cshtml to be embedded resource. I get this error (I base this widget on the Google Analytics widget which comes with NopCommerce 2.1):


Value cannot be null.
Parameter name: view

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentNullException: Value cannot be null.
Parameter name: view

Source Error:


[No relevant source lines]

Source File: c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\48c9e63f\2cefeae0\App_Web_nop.plugin.widgets.facebooklike.views.widgetsfacebooklike.configure.cshtml.d9d9522b.zlu63rwc.0.cs    Line: 0

Stack Trace:


[ArgumentNullException: Value cannot be null.
Parameter name: view]
   System.Web.Mvc.ViewContext..ctor(ControllerContext controllerContext, IView view, ViewDataDictionary viewData, TempDataDictionary tempData, TextWriter writer) +370571
   System.Web.Mvc.Html.ActionCacheViewItem.Execute(HtmlHelper html, ViewDataDictionary viewData) +171
   System.Web.Mvc.Html.TemplateHelpers.ExecuteTemplate(HtmlHelper html, ViewDataDictionary viewData, String templateName, DataBoundControlMode mode, GetViewNamesDelegate getViewNames, GetDefaultActionsDelegate getDefaultActions) +330
   System.Web.Mvc.Html.TemplateHelpers.TemplateHelper(HtmlHelper html, ModelMetadata metadata, String htmlFieldName, String templateName, DataBoundControlMode mode, Object additionalViewData, ExecuteTemplateDelegate executeTemplate) +1117
   System.Web.Mvc.Html.TemplateHelpers.TemplateHelper(HtmlHelper html, ModelMetadata metadata, String htmlFieldName, String templateName, DataBoundControlMode mode, Object additionalViewData) +66
   System.Web.Mvc.Html.TemplateHelpers.TemplateFor(HtmlHelper`1 html, Expression`1 expression, String templateName, String htmlFieldName, DataBoundControlMode mode, Object additionalViewData, TemplateHelperDelegate templateHelper) +117
   System.Web.Mvc.Html.TemplateHelpers.TemplateFor(HtmlHelper`1 html, Expression`1 expression, String templateName, String htmlFieldName, DataBoundControlMode mode, Object additionalViewData) +100
   System.Web.Mvc.Html.EditorExtensions.EditorFor(HtmlHelper`1 html, Expression`1 expression) +56
   ASP._Page_Views_WidgetsFacebookLike_Nop_Plugin_Widgets_FacebookLike_Views_WidgetsFacebookLike_Configure_cshtml.Execute() in c:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\48c9e63f\2cefeae0\App_Web_nop.plugin.widgets.facebooklike.views.widgetsfacebooklike.configure.cshtml.d9d9522b.zlu63rwc.0.cs:0
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +81
   System.Web.WebPages.StartPage.RunPage() +19
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +65
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +220
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +115
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +303
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +23
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +260
   System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +177
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.Mvc.<>c__DisplayClassa.<EndProcessRequest>b__9() +23
   System.Web.Mvc.<>c__DisplayClass4.<Wrap>b__3() +12
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Func`1 func) +38
   System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Action action) +65
   System.Web.Mvc.ServerExecuteHttpHandlerAsyncWrapper.EndProcessRequest(IAsyncResult result) +71
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1072

[HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.]
   System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +3058371
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +77
   System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +28
   System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +22
   System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) +497
   System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues) +88
   ASP._Page_Administration_Views_Widget_Create_cshtml.Execute() in c:\Users\Tri\Documents\Koneka\Koneka\NopCommerce\Main\Presentation\Nop.Web\Administration\Views\Widget\Create.cshtml:52
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +207
   System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +81
   System.Web.WebPages.StartPage.RunPage() +19
   System.Web.WebPages.StartPage.ExecutePageHierarchy() +65
   System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +76
   System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +220
   System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer) +115
   System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +303
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +13
   System.Web.Mvc.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19() +23
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +260
   System.Web.Mvc.<>c__DisplayClass1e.<InvokeActionResultWithFilters>b__1b() +19
   System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +177
   System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +343
   System.Web.Mvc.Controller.ExecuteCore() +116
   System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +97
   System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) +10
   System.Web.Mvc.<>c__DisplayClassb.<BeginProcessRequest>b__5() +37
   System.Web.Mvc.Async.<>c__DisplayClass1.<MakeVoidDelegate>b__0() +21
   System.Web.Mvc.Async.<>c__DisplayClass8`1.<BeginSynchronous>b__7(IAsyncResult _) +12
   System.Web.Mvc.Async.WrappedAsyncResult`1.End() +62
   System.Web.Mvc.<>c__DisplayClasse.<EndProcessRequest>b__d() +50
   System.Web.Mvc.SecurityUtil.<GetCallInAppTrustThunk>b__0(Action f) +7
   System.Web.Mvc.SecurityUtil.ProcessInApplicationTrust(Action action) +22
   System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +60
   System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result) +9
   System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +8963149
   System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +184


Please help.

Thanks in advance

Tri
12 anos atrás
Weird. Seems that the view is still null. I don't know why
12 anos atrás
a.m. wrote:
Weird. Seems that the view is still null. I don't know why


This is the code for my controller

using System.Web.Mvc;
using Nop.Plugin.Widgets.FacebookLike.Models;
using Nop.Services.Configuration;
using Nop.Web.Framework.Controllers;

namespace Nop.Plugin.Widgets.FacebookLike.Controllers
{
    public class WidgetsFacebookLikeController : Controller
    {
        private readonly ISettingService _settingService;
        private readonly FacebookLikeSetting _facebookLikeSetting;

        public WidgetsFacebookLikeController(ISettingService settingService, FacebookLikeSetting facebookLikeSetting)
        {
            _settingService = settingService;
            _facebookLikeSetting = facebookLikeSetting;
        }

        //
        // GET: /WidgetFacebookLike/
        [AdminAuthorize]
        [ChildActionOnly]
        public ActionResult Configure(int widgetId)
        {
            var model = new ConfigurationModel();
            model.ShowFace = _facebookLikeSetting.ShowFace;
            model.Width = _facebookLikeSetting.Width;
            model.Url = _facebookLikeSetting.Url;

            return View("Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure", model);
        }

        [HttpPost]
        [AdminAuthorize]
        [ChildActionOnly]
        public ActionResult Configure(int widgetId, ConfigurationModel model)
        {
            if (!ModelState.IsValid)
            {
                return Configure(widgetId);
            }

            // Save setting
            _facebookLikeSetting.ShowFace = model.ShowFace;
            _facebookLikeSetting.Width = model.Width;
            _facebookLikeSetting.Url = model.Url;
            _settingService.SaveSetting(_facebookLikeSetting);

            return View("Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.Configure", model);
        }

        [ChildActionOnly]
        public ActionResult PublicInfo(int widgetId)
        {
            PublicInfoModel model = new PublicInfoModel();
            model.ShowFace = _facebookLikeSetting.ShowFace;
            model.Width = _facebookLikeSetting.Width;
            model.Url = _facebookLikeSetting.Url;

            return View("Nop.Plugin.Widgets.FacebookLike.Views.WidgetsFacebookLike.PublicInfo", model);
        }

    }
}


This is the code for my plugin FacebookLikePlugin.cs

using System.Collections.Generic;
using System.Web.Routing;
using Nop.Core.Domain.Cms;
using Nop.Core.Plugins;
using Nop.Services.Cms;
using Nop.Services.Configuration;

namespace Nop.Plugin.Widgets.FacebookLike
{
    public class FacebookLikePlugin:BasePlugin, IWidgetPlugin
    {
        private readonly ISettingService _settingService;
        /// <summary>
        /// Main constructor of the class which instantiate the setting service
        /// </summary>
        /// <param name="settingService"></param>
        public FacebookLikePlugin(ISettingService settingService)
        {
            _settingService = settingService;
        }

        /// <summary>
        /// Get all zones which the widget supports
        /// </summary>
        /// <returns>List of all available zones for this widget</returns>
        public IList<WidgetZone> SupportedWidgetZones()
        {

            return new List<WidgetZone>()
            {
                WidgetZone.AfterBodyStartHtmlTag,
                WidgetZone.AfterContent,
                WidgetZone.AfterMainColumn,
                WidgetZone.AfterMainColumn,
                WidgetZone.AfterRightSideColumn,
                WidgetZone.Footer,
                WidgetZone.HeaderMenu
            };
        }
        /// <summary>
        /// Gets a route for provider configuration
        /// </summary>
        /// <param name="widgetId">Widget identifier</param>
        /// <param name="actionName">Action name</param>
        /// <param name="controllerName">Controller name</param>
        /// <param name="routeValues">Route values</param>
        public void GetConfigurationRoute(int widgetId, out string actionName, out string controllerName, out RouteValueDictionary routeValues)
        {
            actionName = "Configure";
            controllerName = "WidgetsFacebookLike";
            routeValues = new RouteValueDictionary()
            {
                {"Namespaces", "Nop.Plugin.Widgets.FacebookLike.Controllers"},
                {"area", null},
                {"widgetId", widgetId}
            };
        }

        /// <summary>
        /// Get a route for displaying widget
        /// </summary>
        /// <param name="widgetId"></param>
        /// <param name="actionName"></param>
        /// <param name="controllerName"></param>
        /// <param name="routeValues"></param>
        public void GetDisplayWidgetRoute(int widgetId, out string actionName, out string controllerName, out RouteValueDictionary routeValues)
        {
            actionName = "PublicInfo";
            controllerName = "WidgetsFacebookLike";
            routeValues = new RouteValueDictionary()
            {
                {"Namespaces", "Nop.Plugin.Widgets.FacebookLike.Controllers"},
                {"area", null},
                {"widgetId", widgetId}
            };
        }

        /// <summary>
        /// The initial installation for the plugin
        /// </summary>
        public override void Install()
        {
            FacebookLikeSetting setting = new FacebookLikeSetting()
            {
                ShowFace = true,
                Width = 450,
                Url = ""
            };

            _settingService.SaveSetting(setting);

            base.Install();
        }
    }
}


The two view pages are marked as Embedded Resource and located in Views/WidgetsFacebookLike/Configure.cshtml and Views/WidgetsFacebookLike/PublicInfo.cshtml

Any ideas about what could have caused the errors?

Thanks in advance
12 anos atrás
I was able to fix the issue. The issues were related to my view page which has an error with the data field type. The error message which I received did not help at all.

Thanks a lot for your help

Tri
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.