Sitecore在内容编辑器中以24小时格式显示时间

时间:2015-09-29 09:40:52

标签: sitecore sitecore7.2

在一个项目中有一个字段类型" DateTime"。对于内容编辑器中的此字段,输入时间的选项采用12小时格式(AM,PM)。如下图所示:

enter image description here

如何以24小时格式向内容编辑器显示时间。

谢谢!

2 个答案:

答案 0 :(得分:2)

您可以通过扩展Sitecore.Shell.Applications.ContentEditor.DateTime类来覆盖默认时间格式,在该控件内找到TimePicker并更改Format属性(默认情况下设置为t ,这意味着将使用Content Editor User的标准区域设置)。说实话,我不认为应该为任何Sitecore解决方案推荐更改此项,但如果需要,它是可行的。

首先,创建继承自Sitecore.Shell.Applications.ContentEditor.DateTime的自定义类,例如:

namespace My.Assembly.Namespace.ContentEditor
{
    public class CustomDateTime : Sitecore.Shell.Applications.ContentEditor.DateTime
    {
        protected override void OnInit(EventArgs e)
        {
            base.OnInit(e);
            TimePicker timePicker = FindTimePicker(this);
            if (timePicker != null)
            {
                timePicker.Format = "HH:mm";
            }
        }

        private TimePicker FindTimePicker(Control control)
        {
            if (control != null)
            {
                var timePicker = control as TimePicker;

                if (timePicker != null)
                {
                    return timePicker;
                }

                foreach (Control childControl in control.Controls)
                {
                    if ((timePicker = FindTimePicker(childControl)) != null)
                    {
                        return timePicker;
                    }
                }
            }
            return null;
        }
    }
}

现在在web.config找到<controlSources>标记,并在该标记内添加以下行:

  <source mode="on" namespace="My.Assembly.Namespace.ContentEditor" assembly="My.Assembly" prefix="customcontent"/>

现在转到 Sitecore Desktop ,切换到核心数据库,找到/sitecore/system/Field types/Simple Types/Datetime项并将Control字段的值更改为{{1 }}:

sitecore - date time picker - custom format

切换回数据库并检查任何日期时间字段,例如:

sitecore - date time picker - custom format

答案 1 :(得分:0)

@Marek Musielak答案很棒,但他写道,我们不建议更改Sitecore解决方案的默认设置。

所以我搜索了一点,并根据每个用户找到了另一种方式。在Sitecore shell中 xx / sitecore / shell 用户也可以通过转到控制面板&gt;更改它。偏好&gt;设置您的区域和语言选项。