在一个项目中有一个字段类型" DateTime"。对于内容编辑器中的此字段,输入时间的选项采用12小时格式(AM,PM)。如下图所示:
如何以24小时格式向内容编辑器显示时间。
谢谢!
答案 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 }}:
切换回主数据库并检查任何日期时间字段,例如:
答案 1 :(得分:0)
@Marek Musielak答案很棒,但他写道,我们不建议更改Sitecore解决方案的默认设置。
所以我搜索了一点,并根据每个用户找到了另一种方式。在Sitecore shell中 xx / sitecore / shell 用户也可以通过转到控制面板&gt;更改它。偏好&gt;设置您的区域和语言选项。