2013-08-01 89 views
1

所以在引導的主題我設立「註冊」與如何註冊果園CMS

@Html.ActionLink(T("Register").Text, "Signup", new { Controller = "Checkout", Area = "UMACS.FoodPod", ReturnUrl = Request.QueryString["ReturnUrl"] }) 

它試圖創建導航至CheckoutController /註冊()的User.cshtml文件的用戶與_services的形狀(這是私人只讀IOrchardServices _services)

[Themed] 
    public ActionResult Signup() 
    { 
     var shape = _services.New.Checkout_Signup(); 
     return new ShapeResult(this, shape); 
    } 

然而它拋出試圖創建此當一個錯誤:

Exception Details: Orchard.OrchardException: Shape type Checkout_Signup not found 

enter image description here

我不完全確定這個形狀的東西試圖做什麼。我已經使用這個代碼(這只是通過atm複製)來創建註冊登錄。它在過去工作得很好,不知道爲什麼這個錯誤現在正在拋出......任何想法?關於如何調試?

回答

0

Orchard正在尋找Checkout_Signup形狀,這意味着它正在尋找名爲Checkout.Signup.cshtml的視圖。所以我假設你還沒有創建這個文件。

例如,在Orchard.Users.Controllers.AccountController的LogOn函數中,它執行與使用Orchard.Users.Views.LogOn.cshtml構建形狀相同的函數var shape = _orchardServices.New.LogOn()。然後它將這個形狀傳遞給ShapeResult()。然後呈現LogOn.cshtml。

所以在你的模塊中,在你的Views文件夾中創建一個Checkout.Signup.cshtml文件。

至於爲什麼Checkout_Signup映射到Checkout.Signup.cshtml,請參閱http://docs.orchardproject.net/Documentation/Alternates

+0

稀釋是感謝您的答覆。問題出在我之前的項目中,我的視圖中的Checkout.Signup.cshtml已摺疊。這次我試圖在'view'文件夾的checkout文件夾中放置一個Signup.cshtml文件 – John