代码之家  ›  专栏  ›  技术社区  ›  Soldarnal

扩展umbraco仪表板

  •  23
  • Soldarnal  · 技术社区  · 17 年前

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

    2 回复  |  直到 17 年前
        1
  •  42
  •   David d C e Freitas    12 年前

    是的,这是可能的。

    后端可以根据仪表板、节和内容树进行扩展。

    有一个配置文件可用于定义新的仪表板部分。 可在以下文件夹中找到配置文件: /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>
    

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

    选项卡中显示的是正常的.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

        2
  •  2
  •   Mr Lister hawi    9 年前

    哇!7年前的帖子仍然是谷歌搜索的头条。

    因此,让我们更新答案:

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

    与/config目录中的其他.config文件一样,Dashboard.config文件允许您自定义Umbraco体验的一部分。在本例中,Dashboard.config文件控制加载站点某个部分时UI的Dashboard部分中显示的内容。仪表板是UI右侧的区域,在这里可以进行大多数数据输入和功能交互。

    默认情况下,当加载新节时,Umbraco会显示一个空白的仪表板,并且仅当您在该节中执行操作时才会显示表单(即,当您单击内容节中的某个节点时,仪表板会显示要更新该节点数据的表单)。但是,如果您想在UI用户单击某个节点之前为他们提供一些选项,该怎么办?这就是Dashboard.config允许您执行的操作。

    <?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用户界面部分不同) 分隔仪表板信息以应用于一个或多个部分。Dashboard.config可能包括多个部分。

    地区

    定义要将仪表板信息子集应用到Umbraco UI的哪些部分。区域-始终小写!

    要在其中显示用户控件的Umbraco用户界面部分的名称*(例如,内容、媒体、开发人员、设置、成员或自定义部分名称)。通过添加多个节点,可以将控件添加到多个节中。

    名为“default”的区域是用户登录时显示的第一个仪表板,无论用户有权访问哪个部分!

    有点明白了,确保你的应用程序的名称是小写的!

    标签

    定义要添加用户控件的页面选项卡。属性“caption”定义选项卡上显示的文本。每个仪表板“页面”控件可以有多个选项卡

    定义要在选项卡上显示的用户控件的路径。

    元素使您可以设置对节、选项卡和控件的权限,您可以授予或拒绝某些用户类型的访问。

    它通过添加一个 <access/> 节点位于 <section /> , <tab/> 或 <control /> 节点。作为您的孩子,您可以添加

    <grant /> 它向这些类型的用户授予权限(并自动拒绝不在那里的用户的访问!)

    <grantBySection /> 它将权限授予访问特定分区的用户。这对于更细粒度的权限非常有用

    <deny /> 拒绝这些类型用户的权限(并自动授予其他所有用户)

    权限示例:

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

    定制

    为了定制Umbraco中的仪表板,需要做几件事。创建一个或多个用户控件

    创建了要在加载分区时加载的用户控件后,必须更新Dashboard.config,以便在用户进入新分区时通知Umbraco加载用户控件。同样,如果您是为自己执行此操作,则只需编辑站点上的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用户界面的内容部分(这些部分位于屏幕左下角)时,都会加载一个包含三个选项卡的页面,分别称为“上次编辑”、“最新项目”和“创建博客文章”。为每个选项卡加载一个UserControl,以提供开发人员为这些选项卡创建的功能。UI通过提供的路径查找UserControls。