Sharepoint 自定义功能区按钮不显示在子网站上

Sharepoint 自定义功能区按钮不显示在子网站上,sharepoint,sharepoint-2010,ribbon,custom-action,Sharepoint,Sharepoint 2010,Ribbon,Custom Action,我已成功地将自定义功能区按钮添加到我的站点,所有内容都按预期显示。但是,当我转到子站点时,我的自定义功能区按钮不会显示。如何让我的按钮显示在主站点和子站点中?我假设部署到主站点的按钮也会转移到子站点,但我猜情况并非如此。有人有什么想法或指导吗?“我的按钮”已添加到RTE的“插入”选项卡的“媒体”组中 哦,我正在部署一个站点范围的功能 这是我的按钮代码: <?xml version="1.0" encoding="utf-8"?> <Elements xmlns="http://

我已成功地将自定义功能区按钮添加到我的站点,所有内容都按预期显示。但是,当我转到子站点时,我的自定义功能区按钮不会显示。如何让我的按钮显示在主站点和子站点中?我假设部署到主站点的按钮也会转移到子站点,但我猜情况并非如此。有人有什么想法或指导吗?“我的按钮”已添加到RTE的“插入”选项卡的“媒体”组中

哦,我正在部署一个站点范围的功能

这是我的按钮代码:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <CustomAction
        Id="CommandUI.Ribbon.EditingTools.MyCompany_InsertVideoButton"
        Location="CommandUI.Ribbon">
        <CommandUIExtension>
            <CommandUIDefinitions>
                <CommandUIDefinition
                    Location="Ribbon.EditingTools.CPInsert.Media.Controls._children">
                    <Button
                        Id="Ribbon.EditingTools.CPInsert.Media.Controls.MyCompany_InsertVideoButton"
                        ToolTipTitle="Video"
                        ToolTipDescription="Insert a video into the page."
                        Sequence="50"
                        LabelText="Insert Video"
                        Image16by16="/_layouts/MyCompany/images/icons/ribbonInsertVideoButton_16.png"
                        Image32by32="/_layouts/MyCompany/images/icons/ribbonInsertVideoButton_32.png"
                        Command="MyCompany_InsertVideoButtonCommand"
                        TemplateAlias="o1" />
                </CommandUIDefinition>
            </CommandUIDefinitions>
            <CommandUIHandlers>
                <CommandUIHandler
                        Command="MyCompany_InsertVideoButtonCommand"
                        CommandAction="javascript:alert('MyCompanyInsertVideoButton clicked!');"
                />
            </CommandUIHandlers>
        </CommandUIExtension>
    </CustomAction>
</Elements>
哦,我正在部署一个站点范围的功能

我相信这是你的问题。您将在当前站点上获得激活,但由于它是在站点范围内部署的,因此需要为您要使用它的每个站点和子站点显式激活该功能


如果希望它自动应用于特定web应用程序中的所有站点/子站点,请使用WebApplication范围的功能部署解决方案。若要在部署后激活它,请转到“管理中心”>“应用程序管理”>“管理Web应用程序”,然后选择“Web应用程序”功能区中的“管理功能”。

想一想。如果将功能区按钮功能部署为场解决方案,则可能会出现问题。您可以尝试与沙盒解决方案部署相同的方法吗?这可能行得通。

但我不能使用沙箱解决方案,因为我在功能中使用了需要作为场解决方案部署的其他东西。也许我需要尝试一下,看看它是否有效,然后将此部分分离为不同的功能。除非我对SharePoint的理解有误,否则网站功能将部署到整个网站集,因此这也会影响子网站。我们认为Web范围的功能只适用于单个网站,因此不会影响子网站。我不确定web应用程序范围的功能是否允许我更改该web应用程序中站点的功能区。但我想试试也没什么坏处。我几乎在想,我会在运行时通过母版页添加它,但这似乎会为我应该能够使用该功能的某些事情增加不必要的开销。