Sitecore自定义对话框应用程序保持为空



因此,我为sitecore创建了一个小型自定义对话框应用程序,该应用程序通过功能区按钮调用,该按钮会触发一个命令,该命令又会触发我的自定义控件。

我的命令(用于触发打开对话框触发器):

var uri = UIUtil.GetUri("control:LanguageCopyModule");
var id = context.Items[0].ID.ToString();
var la = context.Items[0].Language;
var url = string.Format("{0}&id={1}&la={2}", uri, id, la.Name);
SheerResponse.ShowModalDialog(url);

它在弹出窗口中生成的URL:

http://mydomain/sitecore/shell/default.aspx?xmlcontrol=LanguageCopyModule&id={E67AD356-3999-4D4C-ACE4-C570EFD1FBE0}&la=en-

到目前为止,一切都很好,但现在当它打开我的xml控制窗口时,它只是保持为空。

这是xml:背后的代码

<control xmlns:def="Definition" xmlns="http://schemas.sitecore.net/Visual-Studio-Intellisense">
  <LanguageCopyModule>
    <FormDialog Icon="Applications/16x16/paste.png" Header="Language Copy Module" Text="Copy field values between different languages." OKButton="Copy" CancelButton="Cancel">
      <CodeBeside Type="MyAssembly.Modules.LanguageCopyModule.LanguageCopyModule,MyAssembly.Modules"/>
      <GridPanel Columns="2">
        <GridPanel.ColumnStyles>
          <Column Width="70%" />
          <Column Width="30%" />
        </GridPanel.ColumnStyles>
        <GridPanel.RowStyles>
          <Row Height="100%" />
        </GridPanel.RowStyles>
        <!-- Fields -->
        <FlowPanel>
          <Border BorderThickness="1" BorderBrush="black">
            <Text>Text</Text>
          </Border>
        </FlowPanel>
        <!-- Languages -->
        <FlowPanel>
          <Border BorderThickness="1" BorderBrush="black">
            <Button>Button</Button>
          </Border>
        </FlowPanel>
      </GridPanel>
    </FormDialog>
  </LanguageCopyModule>
</control>

关于为什么它仍然是空的,有什么想法吗?找不到什么文件,可能是我遗漏了什么。

感谢您的帮助!

这是由web.config中的<controlSources>元素管理的。您可以将XML控件放在其中提到的任何文件夹中,也可以添加另一个控件源。请注意,有一个特殊的"覆盖"文件夹可用于此目的。如果您仍然需要添加自己的控制源,请记住,从Sitecore 6.0,它可以在可插入的配置中完成(有官方的Sitecore文档,还有几篇博客文章)。

我发现了问题:.xml文件需要位于文件系统中/sitecore/shell下的某个位置。

最新更新