不能渲染umbraco自定义树

时间:2012-09-12 17:53:46

标签: c# umbraco

我正在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);      
        }
    }
}

如你所见,我只需要渲染它,但当我点击该部分并触摸配置时,它应该只渲染一个孩子,但不会渲染任何东西,任何想法?

2 个答案:

答案 0 :(得分:1)

当它呈现任何东西时,它通常是因为错误被抛出但被抑制。这可能是以下之一:

  • 由于指定类型不匹配而导致无法加载树 装配
  • 该类抛出了一个被抑制的错误。

如果检查数据库中的umbracoLog表,则应在那里记录实际错误。

答案 1 :(得分:0)

4.8中的情况发生了变化。您可能会发现这个有用:http://blog.mattbrailsford.com/2012/07/18/creating-custom-applications-and-trees-in-umbraco-4-8/

从理论上讲,它应该与我所听到的相反。您的配置看起来正确。唯一的区别是我只为treeHandlerType而不是完全限定名称添加了类名。