我最近開始使用Umbraco,並且正在弄清楚如何將自己的自定義節添加到其中。用數據庫中的記錄填充自定義樹
到目前爲止,我已經成功地添加一個新的部分,我也開始加入了自定義樹與各種博客文章等的幫助:http://www.robertgray.net.au/2011/5/10/creating-a-custom-content-tree-in-umbraco和http://www.geckonewmedia.com/blog/2009/8/3/how-to-create-a-custom-section-in-umbraco-4
這個新節的目的是爲了顯示我想要存儲在數據庫中的查詢。記錄只需要查看但不可編輯。
到目前爲止,我有一個名爲「查詢」的根節點和一個名爲「一般查詢」的節點。我想列出所有查詢作爲「一般查詢」的子節點,然後點擊時,我希望能夠在右側的主區域顯示查詢詳情。
在連接到上面的第一個博客文章,下面的代碼已經提供給演示如何顯示子節點:
using atomicf1.domain.Repositories;
using atomicf1.persistence;
using umbraco.cms.presentation.Trees;
namespace atomicf1.cms.presentation.Trees
{
public class loadDrivers : BaseTree
{
private IDriverRepository _driverRepository;
public loadDrivers(string application) : base(application)
{
_driverRepository = new DriverRepository();
}
protected override void CreateRootNode(ref XmlTreeNode rootNode)
{
rootNode.Icon = FolderIcon;
rootNode.OpenIcon = FolderIconOpen;
rootNode.NodeType = TreeAlias;
rootNode.NodeID = "init";
}
public override void Render(ref XmlTree tree)
{
var drivers = _driverRepository.GetAll();
foreach(var driver in drivers) {
var dNode = XmlTreeNode.Create(this);
dNode.NodeID = driver.Id.ToString();
dNode.Text = driver.Name;
dNode.Icon = "user.png";
dNode.Action = "javascript:openDrivers(" + driver.Id + ")";
tree.Add(dNode);
}
}
public override void RenderJS(ref System.Text.StringBuilder Javascript)
{
Javascript.Append(
@"
function openDrivers(id)
{
parent.right.document.location.href = 'plugins/atomicf1/editDriver.aspx?id=' + id;
}
");
}
}
}
從我可以工作了,它似乎是「司機」在這個例子是從_driverRepository
得出的。但是,似乎並沒有任何代碼示例解釋什麼是什麼以及如何實際從數據庫中首先檢索數據。
對此的任何幫助將非常感激。
非常感謝你,這真的幫助我克服了被困住的一點,並清除了一些東西。 – Leah 2013-02-19 10:17:01