限制在常规链接中为链接标题字段输入的字符数

时间:2014-05-02 04:02:55

标签: hyperlink sitecore external internal sitecore7

我们是否可以限制内容作者可以在链接标题字段中输入的字符数,以获取内部和外部链接的常规链接,如下所示

enter image description here

先谢谢,

1 个答案:

答案 0 :(得分:1)

我还没有找到一种方法来设置每个模板字段,但我设法在此文件的输入中添加MaxLength:sitecore \ shell \ Applications \ Dialogs \ ExternalLink \ ExternalLink.xml

<Edit ID="Title" Width="100%" MaxLength="20" />

编辑:启用每个模板字段maxlength的新解决方案

我进一步挖了一下,发现了一种类似的方法来操纵这种行为。在同一个xml文件中,您可以将codebeside类设置为您自己的类:

  <!--original value: <CodeBeside Type="Sitecore.Shell.Applications.Dialogs.ExternalLink.ExternalLinkForm,Sitecore.Client"/>-->
  <CodeBeside Type="SitecoreMvc.Shell.Applications.Dialogs.ExternalLink.CustomExternalLinkForm,SitecoreMvc"/>

然后在我的CustomExternalLinkForm类中,我重写Onload方法并添加一些逻辑:

public class CustomExternalLinkForm : Sitecore.Shell.Applications.Dialogs.ExternalLink.ExternalLinkForm
{
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);

        var ro = WebUtil.ParseQueryString(WebUtil.GetQueryString("ro"));

        int titleMaxLength;
        if (int.TryParse(ro["maxTitleLength"], out titleMaxLength)) 
            Title.Attributes.Add("MaxLength", titleMaxLength.ToString());
    }
}

&#34; ro&#34; Qs参数是Sitecore已经传递的内容,其内容是当前字段的字段源中填充的内容。所以这实际上可以让你做更多的扩展。

不是最优雅的解决方案,因为您必须编辑sitecore shell文件,但它可以正常工作。