1

Orchard CMS の管理パネルを使用して、次のものを作成しました。

  1. CalendarEvent と呼ばれるコンテンツ タイプで、EventDate を含むいくつかのフィールドが含まれています。
  2. 1 つはコンテンツ タイプ (= CalendarEvent) によるもので、もう 1 つはイベントの日付に基づくものです。レイアウトの表示モードはプロパティに設定されています。
  3. メニュー項目がクリックされたときにクエリを表示するプロジェクション。

問題は、EventDate に基づいて、過去のイベントではなく、今後のイベントのみを表示することです。なんらかの理由で表示するイベントがない場合、ユーザーが取得するのは何も情報がない空のページだけです。

私の質問は、「スケジュールされている現在のイベントはありません」のようなものを表示するためにクエリまたはプロジェクションを変更するにはどうすればよいですか?

クエリのレイアウトのプロパティで「結果なし」を指定できることは知っていますが、これはレコードが存在し、実際のプロパティが空であることを意味します。ただし、私の例では、レコードは存在しません。

よろしくお願いします。

ラファエル

ちなみに、最新の Orchard バージョン 1.6 を使用しています。

4

2 に答える 2

0

プロジェクションが Layouts 要素である場合は、テーマの Views/Elements フォルダーに Projection.cshtml ファイルを次のように作成できます。

@{
    var list = Model.List;
    var pager = Model.Pager;

    if (list != null)
    {
        @Display(list)

        if (list.Items.Count == 0)
        {
            <div>There are currently no items.</div>
        }
    }

    if (pager != null)
    {
        @Display(pager)
    }
}

if (list.Items.Count == 0)これは、セクションが追加されたデフォルト テンプレートのコピーです。必要に応じて編集します。

于 2020-06-02T02:01:53.413 に答える