我想将我自己的部分添加到 umbraco 仪表板,以便我可以将我自己的管理部分集成到现有的登录/管理结构中。这是否可以在不编辑和重新编译 umbraco 源代码本身的情况下实现?推荐吗?如果是这样,有人有资源开始这样做吗?

有帮助吗?

解决方案

是的,这是可能的。

后端可以在仪表板、部分和内容树方面进行扩展。

您可以使用一个配置文件来定义新的仪表板部分。配置文件可以在以下文件夹中找到: /config/dashboard.config

通常,dashboard.config 文件有一些示例 XML,说明它需要如何构建,如下所示(我对其进行了一些扩展以显示更多功能)。

<dashBoard>
    <section>
        <areas>
            <area>default</area>
            <area>content</area>
            <area>member</area>
        </areas>

        <tab caption="Last Edits">
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
        <tab caption="Latest Items">
            <control>/usercontrols/dashboard/newestItems.ascx</control>
        </tab>
        <tab caption="Create blog post">
            <control>/usercontrols/umbracoBlog/dashboardBlogPostCreate.ascx</control>
        </tab>
    </section>
    <section>
        <areas>
            <area>media</area>
        </areas>

        <tab caption="Last Edits">
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
    </section>
</dashBoard>

部分节点允许您为不同的管理部分设置不同的选项卡组。在上面的示例中,选项卡“最新编辑”、“最新项目”和“创建博客文章”将应用于默认部分、成员部分和内容部分。默认是用户在选择部分之前登录后端时看到的第一件事。

要控制在不同部分中看到的内容,您可以设置一个新的部分节点并定义它适用于哪个区域以及要显示的选项卡。在上面的示例中,第二部分仅适用于媒体部分。

选项卡中显示的是普通的.NET 用户控件。它可以与 Umbraco 完全分开,也可以包含 umbraco 特定代码,具体取决于您是集成遗留应用程序还是只是扩展 umbraco。

如果您想创建一个新部分(出现在 umbraco 后端左下角的图标之一),那么您将需要更加努力。

要添加一个部分,您需要添加几个数据库条目。首先,您需要在 umbracoApp 表中定义应用程序。

然后为管理员用户 (0) 添加一个条目到 umbracoUsers2App。

然后,您需要定义一个新的内容树并创建支持的用户控件。

这里有关于设置的更多信息: http://www.geckonewmedia.com/blog/2009/8/3/how-to-create-a-custom-section-in-umbraco-4

第一种方法(仅定义一些新选项卡)比添加新部分要容易得多,因此我建议您从该方法开始。然后,当您感觉更舒服时,您可以直接投入并创建全新的部分和内容树!

其他提示

哇! 7岁后仍顶在谷歌搜索。

<强>因此,让更新的答案:

在这里你可以找到扩展仪表板的文档: 仪表板

控制台

由于在/ config目录中的其他.config文件的Dashboard.config文件,您可以定制的一把umbraco体验的部分。在这种情况下,Dashboard.config文件控制在UI的仪表盘部分显示的内容,当网站加载的部分。控制板是上,大部分的数据输入和功能性相互作用的发生的UI的右侧的区域。

默认情况下,一把umbraco显示空白仪表板时,一个新的部分载荷,只能说明一个形式,当你走在区间内操作(即当您单击内容部分的节点上,该仪表盘显示表单以更新节点数据)。但是,如果你想与一些选项来展示你的UI用户在点击一个节点上,甚至过吗?那么这是什么Dashboard.config允许你这样做。

布局

像其他.config文件Dashboard.config是一个相当直接的布局的简单的XML文件,如下所示。

<?xml version="1.0" encoding="utf-8" ?> 
<dashBoard> <!-- root of the dashboard xml tree -->
   <section>  <!-- defines a dashboard layout for a group of sections -->
        <areas> <!-- Declares which sections (i.e. content,media,users,[your own]-->
            <area>[area name]</area> <!-- A section to apply this to -->
            ...
        </areas>

        <tab caption="[caption]"> <!-- Creates a tab in the Dashboard with the assigned Caption -->
            <control>[path]</control> <!-- What control to load in that tab -->
        </tab>
        ...
   </section>
   ...
</dashBoard>

科(不同于一个一把umbraco UI部) 划仪表盘的信息应用到一个或多个部分。所述Dashboard.config可以包括多个部分。

领域

定义的一把umbraco UI的部分申请的仪表盘信息的子集,其。区域! - 总是小写的

要在其中显示用户控件(例如内容,媒体,显影剂,设置构件或一个定制的节名)的一把umbraco UI部分的名称*。您可以通过添加多个节点添加到控制一个以上的部分。

名称为“默认”的区域是示出第一仪表板,当用户登录时,无论哪个部分中的用户有权访问!

有一个小的疑难杂症,确保您在小写您的应用程序的名字!

标签

定义页面标签,你想你的用户控件添加到。属性“标题”定义了标签上显示的文本。可以有用于每个仪表板“页”控制多个标签

定义到你想一个标签上显示该用户控制的路径。

在元件使得有可能在切片上,制表符和控制设置权限并且可以授予或拒绝某些usertypes访问。

它通过下一个任<access/><section /><tab/>节点添加<control />节点。随着你的孩子可以添加

<grant />其中授予权限的用户类型(自动拒绝访问那些谁是不存在!)

<grantBySection />,授予权限谁得到访问特定部分的用户。这可以进行更精确的权限是有用的

<deny />否认权限的那些类型的用户(AND自动授予其他人)

不管设置的根用户(ID:0)所看到的一切,所以如果你设置拒绝管理员权限,仍然能够看到的一切,不要惊慌; - )

上的权限示例:

<tab caption="Last Edits">
    <access>
        <grant>writer</grant>
        <grant>editor</grant>
        <grantBySection>content</grantBySection>
    </access>
    <control>/usercontrols/dashboard/latestEdits.ascx</control>
</tab>

定制

为了以自定义一把umbraco仪表板,需要做几件事情。创建一个或多个用户控件

在仪表板负载的一个或多个用户控件,并显示在一系列选项卡。所以为了自定义控制,需要首先创建一个在页面上显示的用户控件。如果这是您自己的个人使用,你可以只放置在用户控件可以通过一把umbraco访问您网站上的一个位置。建议您将它们放在/用户控件目录,最好是在你自己的subf老。如果要创建一个包供他人使用,您应该包括在包中的用户控件与包装内容物,其余安装。更新Dashboard.config

一旦创建要装入时,部分负荷,则必须更新Dashboard.config告诉一把umbraco加载你的用户控件,当用户进入一个新的部分的用户控件。同样,如果你这样做是为自己所有你需要做的是编辑Dashboard.config您的网站上添加控件。但是,如果要添加一个部分去同一个包,你将要包括包装操作过程中安装更新Dashboard.config。请点击这里了解包操作的更多信息。样品

下面是一个有效Dashboard.config的示例:

<?xml version="1.0" encoding="utf-8" ?> 
<dashBoard>
    <section>
        <areas>
            <area>content</area>
        </areas>        
        <tab caption="Last Edits">
            <access>
                <deny>editor</deny>
            </access>
            <control>/usercontrols/dashboard/latestEdits.ascx</control>
        </tab>
        <tab caption="Latest Items">
            <control>/usercontrols/dashboard/newestItems.ascx</control>
        </tab>
        <tab caption="Create blog post">
            <control>/usercontrols/umbracoBlog/dashboardBlogPostCreate.ascx</control>
        </tab>
    </section>
</dashBoard>

这样做是每次上一把umbraco UI的内容部分用户点击(该部分是在屏幕的左下),它加载有三个标签页被称为“最后的编辑”,“最新项目”和“创建博客文章”。为每个标签一个用户控件被加载,以提供显影剂给这些标签创建的功能。用户界面经由设置的路径查找用户控件。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top