我正在umbraco 4.8中创建一个新的部分,所以现在我想为该部分创建一个自定义树。这是该部分的注册
sortOrder | appAlias | appIcon | appName | appInitWithTreeAlias
9 |importer |import.gif | Importer | NULL
这是该部分树的注册表
treeSilent = False
treeInitialize = True
treeSortOrder = 0
appAlias = importer
treeAlias = importer
treeTitle = Importer
treeIconClosed = legacy
treeIconOpen = legacy
treeHandlerAssembly = asm.ssu.importer // My DLL Name
treeHandlerType = site.com.clients.ssu.importer.loadImporter // Namespace.ClassName
actionn = NULL
这是我的班级
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using umbraco.cms.presentation.Trees;
namespace site.com.clients.ssu.importer
{
public class loadImporter : BaseTree
{
public loadImporter(String application)
: base(application)
{
}
protected override void CreateRootNode(ref XmlTreeNode rootNode)
{
rootNode.Icon = FolderIcon;
rootNode.OpenIcon = FolderIconOpen;
rootNode.NodeType = TreeAlias;
rootNode.NodeID = "init";
}
public override void RenderJS(ref System.Text.StringBuilder Javascript)
{
Javascript.Append(
@"
function openImporter(id)
{
parent.right.document.location.href = '#' ;
}
");
}
public override void Render(ref XmlTree tree)
{
XmlTreeNode xNode = XmlTreeNode.Create(this);
xNode.NodeID = "1";
xNode.Text = "Import Site";
xNode.Icon = "importer.gif";
xNode.Action = "javascript:openImporter(1)";
tree.Add(xNode);
}
}
}
如你所见,我只需要渲染它,但当我点击该部分并触摸配置时,它应该只渲染一个孩子,但不会渲染任何东西,任何想法?
答案 0 :(得分:1)
当它呈现任何东西时,它通常是因为错误被抛出但被抑制。这可能是以下之一:
如果检查数据库中的umbracoLog表,则应在那里记录实际错误。
答案 1 :(得分:0)
4.8中的情况发生了变化。您可能会发现这个有用:http://blog.mattbrailsford.com/2012/07/18/creating-custom-applications-and-trees-in-umbraco-4-8/
从理论上讲,它应该与我所听到的相反。您的配置看起来正确。唯一的区别是我只为treeHandlerType而不是完全限定名称添加了类名。