2016-10-28 6 views
3

私はページテンプレートに次のコードを書いていますが、ReleaseDateを完全な月と年を表示するように書式設定する方法はわかりません。 2016年10月。お手伝いください!異なる変換でKentico - 日付の取得/フォーマット

<ul class="icon-list">  
<cms:CMSWebPartZone ZoneID="ZoneLinks" runat="server" /> 
<li class="date inline">Published: <%= CurrentDocument.GetValue("ReleaseDate") %></li> 
</ul> 

、私はこの<%# GetDateTime("ReleaseDate", "MMMM yyyy") %>を持っており、それが動作しますが、私は上記の文脈でそれを使用する方法がわかりません。私はCurrentDocument.GetDateTime(....)を試しましたが、動作しませんでした。

+0

をあなたは評判を誰再考することをお勧めします正しい。それでも、私は他の人からマイナスポイントを得ました... – rocky

答えて

1

transformation methodsは変換の外側には使用できません。 ReleaseDateをnullにできるかどうかをあなたがnullチェックを適用していることを確認してください

<%= ((DateTime)CurrentDocument.GetValue("ReleaseDate")).ToString("MMMM yyyy") %> 

:しかし、あなたはバニラ.NETのアプローチを使用することができます。

1

あなたはこのように直接のC#を使用することができます。

ここ
<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.DocumentModifiedWhen).ToString("MMMM yyyy") %> 

<%= ((System.DateTime)CMS.DocumentEngine.DocumentContext.CurrentDocument.GetValue("ReleaseDate")).ToString("MMMM yyyy") %> 
-1

が何をしたいあなたを取得する必要がありますKenticoマクロです:提供

{% GetDateTime(CurrentDocument.GetValue("ReleaseDate"), "MMMM yyyy")%} 
0

すべての答えは動作しますが。この問題は、ページテンプレートまたはレイアウトで<%= %>を使用するたびに発生し、ページのライフサイクルのためにページがエラーになります。したがって、ページアプリでデザインモードでページを表示すると、表示されないか、エラーが発生します。

私はこのような何かのために使う2つの解決策があります。

  • は、それが最後の1であるかどうかをチェックし、動的なコンテンツとそのテキストを描画するために、あなたの変換で声明に入れます。

あなたの文では、あなたの変換では、このようなものになります:

<%# If(IsLast(), GetDateTime("ReleaseDate", "MMMM yyyy"), "") %>

  • 場所Webパーツの部分後のコンテンツの内容をとザック・ペリーが述べたように簡単なマクロを使用します。

あなたのマクロコードがそうのようになります。

あなたが使用することができます

{% GetDateTime(CurrentDocument.GetValue("ReleaseDate"), "MMMM yyyy")%}

0

:私はあなたが最初の質問答えてきたように

<%= String.Format("{0:MMMM yyyy}", CurrentDocument.GetValue("ReleaseDate")) %> 
関連する問題