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);
}
}
}
ご覧のとおり、レンダリングする必要がありますが、セクションをクリックして構成に触れると、1つの子のみをレンダリングする必要がありますが、何もレンダリングしません。