पर हैं। आप इस कार्यक्षमता के लिए एक सहायक का उपयोग कर सकते हैं, कृपया नीचे कोड देखें। मैंने इस कोड का उपयोग किया और ठीक काम कर रहा है। आप पृष्ठ संपादक से दिनांक फ़ील्ड भी संपादित कर सकते हैं क्योंकि फ़ील्ड साइटकोर पाइपलाइनों के माध्यम से संपादित किया जाता है।
public static class Helper
{
public static HtmlString RenderField(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
string fieldNameOrId,
bool disableWebEdit = false,
SC.Collections.SafeDictionary<string> parameters = null)
{
if (parameters == null)
{
parameters = new SC.Collections.SafeDictionary<string>();
}
return sitecoreHelper.Field(
fieldNameOrId,
new
{
DisableWebEdit = disableWebEdit,
Parameters = parameters
});
}
public static HtmlString RenderField(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
SC.Data.ID fieldId,
bool disableWebEdit = false,
SC.Collections.SafeDictionary<string> parameters = null)
{
return RenderField(
sitecoreHelper,
fieldId.ToString(),
disableWebEdit,
parameters);
}
public static HtmlString RenderDate(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
string fieldNameOrId,
string format = "D",
bool disableWebEdit = false,
bool setCulture = true,
SC.Collections.SafeDictionary<string> parameters = null)
{
if (setCulture)
{
Thread.CurrentThread.CurrentUICulture =
new CultureInfo(SC.Context.Language.Name);
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(SC.Context.Language.Name);
}
if (parameters == null)
{
parameters = new SC.Collections.SafeDictionary<string>();
}
parameters["format"] = format;
return RenderField(
sitecoreHelper,
fieldNameOrId,
disableWebEdit,
parameters);
}
public static HtmlString RenderDate(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
SC.Data.ID fieldId,
string format = "D",
bool disableWebEdit = false,
bool setCulture = true,
SC.Collections.SafeDictionary<string> parameters = null)
{
return RenderDate(
sitecoreHelper,
fieldId.ToString(),
format,
disableWebEdit,
setCulture,
parameters);
}
public static HtmlString TagField(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
string fieldNameOrId,
string htmlElement,
bool disableWebEdit = false,
SC.Collections.SafeDictionary<string> parameters = null)
{
SC.Data.Items.Item item =
SC.Mvc.Presentation.RenderingContext.Current.ContextItem;
if (item == null || String.IsNullOrEmpty(item[fieldNameOrId]))
{
return new HtmlString(String.Empty);
}
string value = sitecoreHelper.RenderField(
fieldNameOrId,
disableWebEdit,
parameters).ToString();
return new HtmlString(String.Format(
"<{0}>{1}</{0}>",
htmlElement,
value));
}
public static HtmlString TagField(
this SC.Mvc.Helpers.SitecoreHelper sitecoreHelper,
SC.Data.ID fieldId,
string htmlElement,
bool disableWebEdit = false,
SC.Collections.SafeDictionary<string> parameters = null)
{
return TagField(
sitecoreHelper,
fieldId.ToString(),
htmlElement,
disableWebEdit,
parameters);
}
}
अपने cshtml में आप होगा:
@Html.Sitecore().RenderDate("Name of field or id", "your format")
जॉन पश्चिम कैसे यहाँ sitecore सहायकों का विस्तार करने के बारे में लिखने: http://www.sitecore.net/learn/blogs/technical-blogs/john-west-sitecore-blog/posts/2012/06/sitecore-mvc-playground-part-4-extending-the-sitecorehelper-class.aspx
मुझे लगता है कि बाद के संस्करणों में शुरू किया गया है क्योंकि यह मेरे लिए SXP8.2 @ Html.Sitecore() फ़ील्ड ("प्रारंभ दिनांक", नया {प्रारूप = "डीडी एमएमएमएम yyyy"}) – Zooking
मुझे यह याद है कि यह साइटकोर डेवलपर elearning में भाग लेने के दौरान एक विकल्प है। मॉड्यूल 4 अगर मुझे गलत नहीं लगता है। पाठ्यक्रम साइटकोर 8. –