2

私はオーチャードにかなり慣れていないので、ダウンロードリンクを使用してドキュメントの基本的なリストを作成する「最良の」方法について疑問に思っていますか?

シナリオがこれだとしましょう。ニュースレターのリストを作成したいのですが、ニュースレターはPDF形式であり、ユーザーはリストビューから直接ダウンロードできるはずです。管理者は、新しいニュースレターを簡単に追加できるはずであり、リストに表示されるはずです。

私の現在の考え方は、ダッシュボード全体を通して、

  1. PDFファイルをアップロードするためにメディアピッカーフィールドを使用して、タイトルフィールドとメディアピッカーフィールドを持つコンテンツタイプ「ニュースレター」を作成します。
  2. 次に、コンテンツタイプ「ニュースレター」のフィルターを使用してクエリを作成します
  3. クエリを指す投影を作成します

ただし、これではコンテンツアイテムのリストのみが表示され、実際のコンテンツアイテムへのリンクとしてタイトルが表示されます。

クエリにレイアウトを追加して、コンテンツではなくプロパティを表示するように設定してみました。そうすることで、「出力」をもう少し制御できるリストを取得できます。そして、タイトルをリストするようになりました。リライトを実行してMediaPicker.Urlを挿入すると、リストにURLも表示されます。これはすべて良いですが、ここで私は立ち往生しています。

MediaPicker.URLは〜/ media / default / xyz / filename.pdfのような形式でURLを出力するので、それをaa hrefに入れることはできず、ファイルへの正しいダウンロードリンクを提供しません。

スー、質問は、私はこれを完全に間違った方法で考えて実行しているのですか、それとも明らかな何かを見逃しているのですか?すべてのアイデアや提案、そしてそれ以上のものを歓迎します。

4

1 に答える 1

0

テーマで次のテンプレートオーバーライドを使用または適合させます。

@{
    var url = Model.ContentField.Url;
}
@if(Model.ContentField.Url != null) {
    if (url.StartsWith("~/")) {
        url = Href(url);
    }
    <div class="media-picker-field attachment-pdf">
        <a href="@url" class="pdf-download" title="@T("Download the PDF")"><span>download</span></a>
    </div>
}

必要に応じてテキストを変更します。このテンプレートは、。という名前のメディアピッカーフィールドに使用されたFields.MediaPicker-PDF.cshtmlでしたPDF

于 2013-02-09T04:12:07.880 に答える