2

Umbraco内に予約システムを作成しようとしています。そのため、予約フォームがサイトに送信されると、参照用にUmbracoバックエンドに新しいノードも作成されます。かみそりだけを使用してこれを行うことは可能ですか?そうでない場合、どうすればこの機能を作成できますか?

私は現在、Umbracoのドキュメントから提案された次のコードを使用しています(送信が成功した場合に実行されるコードブロック内に追加することにより)が、かみそりのスクリプトエラーが発生します:

using umbraco.BusinessLogic;
using umbraco.cms.businesslogic.web;

DocumentType dt = DocumentType.GetByAlias("Textpage"); 
User author = User.GetUser(0); 
Document doc = Document.MakeNew("My new document", dt, author, 1018); 

Umbraco v4.7.1.1を使用していますが、次のエラーが発生します:「タイプまたは名前空間名'DocumentType'が見つかりませんでした(usingディレクティブまたはアセンブリ参照がありませんか?)」。

名前空間に@を追加すると、エラーが発生します。「System.Security.Principal.IPrincipal」には「GetUser」の定義が含まれておらず、「System.Security」タイプの最初の引数を受け入れる拡張メソッド「GetUser」がありません。 Principal.IPrincipal'が見つかりました(usingディレクティブまたはアセンブリ参照がありませんか?)

4

2 に答える 2

4

usingステートメントは、かみそりのコードブロックの外側にある必要があります。

@using umbraco.BusinessLogic;
@using umbraco.cms.businesslogic.web;
@{
    DocumentType dt = DocumentType.GetByAlias("Textpage"); 
    User author = User.GetUser(0); 
    Document doc = Document.MakeNew("My new document", dt, author, 1018); 
}
于 2012-05-17T17:03:45.077 に答える
1

usingステートメントを使用する代わりに、クラスで完全な名前空間を使用してみてください。

例:umbraco.cms.businesslogic.web.DocumentType

次に、VisualStudioでソリューションを開いてみてください。このようにして、名前空間のIntelliSenseを取得します。

于 2012-05-14T15:36:33.513 に答える