2017-03-21 13 views
1

これについて正確に多くのドキュメントがないので、これは他の人にも役立つことを願っています。Umbraco 7 - カスタムマクロパラメータエディタ - RTE

ページセクションを処理するために作成したマクロ内で、RTE(リッチテキストエディタ)を使用したいと考えています。

マクロ内でRTEを正常にレンダリングしました。私は、マクロパラメータパネルから私のmacroRteを選択することができます。私は自分のページセクションの値をどこで編集するかをレンダリングします。私は "macroRte"のエイリアスをパラメータに割り当てました。

ただし、値を格納していません。私が提出を押すたびに、内容を消去しています。

私は角度の専門家ですが、私はそれが問題だと思います。以下のコード。ありがとうございました。

ビュー

<div ng-controller="CustomSectionEditController" class="umb-editor umb-rte"> 
<umb-editor model="macroRte"> 
    <div ng-model="model.value">{{model.value}}</div> 
</umb-editor> 

コントローラ

angular.module("umbraco").controller("CustomSectionEditController", function ($scope) { 
$scope.macroRte = { 
    label: 'bodyText', 
    description: 'Load some stuff here', 
    view: 'rte', 
    config: { 
     editor: { 
      toolbar: ["code", "undo", "redo", "cut", "styleselect", "bold", "italic", "alignleft", "aligncenter", "alignright", "bullist", "numlist", "link", "umbmediapicker", "table", "umbembeddialog"], 
      stylesheets: ["rte"], 
      dimensions: { height: 400 }, 
      valueType:"STRING" 
     } 
    } 
}; 
}); 

レンダリング

@inherits Umbraco.Web.Macros.PartialViewMacroPage 
<div class="lh-text"> 
    @Model.MacroParameters["macroRte"]; 
</div> 

アイデア? :)

答えて

2

これを使用して、https://github.com/engern/Umbraco-custom-macro-parameters/tree/master/App_Plugins/MacroRichText - 私は私の問題を解決することができました。

ビューは、次のコードを必要とし、次の

<div ng-controller="CustomSectionEditController"> 
    <ng-form> 
     <umb-editor model="macroRte"></umb-editor> 
    </ng-form> 
</div> 

コントローラに変更する必要があり(

value: $scope.model.value, 

および追加スコープ制御ビューの下に追加

$scope.$watch("macroRte.value", function (newValue, oldValue) { 
    $scope.model.value = newValue; 
}); 

コントローラーは次のようになります

angular.module("umbraco").controller("CustomSectionEditController", function ($scope) { 
$scope.macroRte = { 
    label: 'bodyText', 
    description: 'Load some stuff here', 
    view: 'rte', 
    value: $scope.model.value, 
    config: { 
     editor: { 
      toolbar: ["code", "undo", "redo", "cut", "styleselect", "bold", "italic", "alignleft", "aligncenter", "alignright", "bullist", "numlist", "link", "umbmediapicker", "table", "umbembeddialog"], 
      stylesheets: ["rte"], 
      dimensions: { height: 400 }, 
      valueType:"STRING" 
     } 
    } 
}, 
$scope.$watch("macroRte.value", function (newValue, oldValue) { 
    $scope.model.value = newValue; 
}); 
}); 

私はこれが他の人に役立つことを願っています。

関連する問題