我是Umbraco后台开发的新手。我只是跟随了一些教程。我现在很纠结,因为我不理解Umbraco Backoffice的客户端模式。我所做的是如下视图:
<div ng-controller="UmbExtend.UmbExtendTree.ImportController">
<div class="umb-pane">
<h1>Datei hochladen</h1>
<p>
Bitte laden sie die Datei hoch, welche importiert werden soll. Es sind nur CSV Dateien erlaubt.
</p>
<div class="umb-actions">
<input type="file" id="userImportFile"/>
</div>
<loading></loading>
<div class="btn-toolbar pull-right umb-btn-toolbar">
<a id="uploadNowButton" class="btn btn-primary" ng-click="runImport(99)" prevent-default>Benutzer jetzt importieren!</a>
</div>
</div>
</div>
<script>
function checkUserImportFile() {
var btn = $('#uploadNowButton');
if (!$('#userImportFile').val().trim().endsWith(".csv")) {
btn.addClass('disabled').fadeTo(500, 0);
} else {
btn.removeClass('disabled').fadeTo(500, 1);
}
}
$('#userImportFile').change(function () {
checkUserImportFile();
});
checkUserImportFile();
</script>
和以下客户端控制器:
'use strict';
(function () {
//create the controller
function umbExtendImportController($scope, $routeParams, $http) {
//set a property on the scope equal to the current route id
$scope.id = $routeParams.id;
$scope.runImport = function () {
}
};
//register the controller
angular
.module("umbraco")
.controller('UmbExtend.UmbExtendTree.ImportController', umbExtendImportController);
})();
。我想隐藏上下文菜单上的runImport单击,其中显示视图。怎么做呢?有umbraco backoffice版本7+的客户端模型的例子或文档吗?
这是v7后台的API文档:http://umbraco.github.io/Belle/#/api它不完整,但它提供了一个很好的起点。
至于隐藏上下文菜单,我不能帮助你,但我能给的最好的建议是看看后台源代码在这里:https://github.com/umbraco/Umbraco-CMS/tree/dev-v7/src/Umbraco.Web.UI.Client,看看事情是如何在核心代码中完成的。这通常是我在后台办公室做任何事情的第一个电话!
将navigationService注入到你的控制器中,并像这样使用hideNavigation()方法:
function umbExtendImportController($scope, $routeParams, $http, navigationService) {
$scope.runImport = function () {
navigationService.hideNavigation();
}
};