【问题标题】:Limit number of Characters entered for Link Title Field in General Link限制在常规链接中为链接标题字段输入的字符数
【发布时间】:2014-06-18 16:31:36
【问题描述】:

我们能否限制内容作者可以在链接标题字段中输入的字符数,用于内部和外部链接的一般链接,如下所示

提前致谢,

【问题讨论】:

    标签: hyperlink sitecore external internal sitecore7


    【解决方案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());
        }
    }
    

    “ro”Qs参数是Sitecore已经通过的,内容是当前字段的字段源中填写的内容。所以这实际上可以让你做更多的扩展。

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

    【讨论】:

    • 谢谢。如果你得到每个模板字段,请告诉我,如果我得到这种方法会更新。
    • 我添加了一个扩展解决方案,使您能够设置每个模板字段参数并应用它们。
    • 您可以将其复制并粘贴到覆盖文件夹中,而不是修改原始的 Sitecore 文件。然后你修改了覆盖文件夹中的那个。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-04
    • 2015-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    • 2013-11-19
    相关资源
    最近更新 更多