在Orchard 1.6中构建可下载项目列表

时间:2013-02-07 21:04:37

标签: orchardcms orchardcms-1.6

我对Orchard相当新,我想知道使用下载链接构建基本文档列表的“最佳”方式?

假设情况是这样的,我想制作新闻简报列表,新闻信件是PDF格式,用户应该能够直接从列表视图下载。 管理员应该可以轻松添加新的简报,它应该出现在列表中。

我目前的思路是通过仪表板,

  1. 使用标题字段和媒体选择器字段创建内容类型“简报”,使用媒体选择器字段上传PDF文件。
  2. 然后创建一个查询,其内容类型为“简报”
  3. 创建指向查询的投影
  4. 但是,这只会给我一个内容项列表,将其标题显示为返回实际内容项的链接。

    我尝试在查询中添加一个布局,并将其设置为显示属性而不是内容。通过这样做,我可以得到一个列表,我可以更多地控制“输出”。我已经得到它列出标题,并通过重写和放入MediaPicker.Url,它还显示列表中的URL。这一切都很好,但在这里我卡住了..

    当MediaPicker.URL以〜/ media / default / xyz / filename.pdf格式输出url时,我无法将其放入aa href中,但它没有给出正确的文件下载链接。 / p>

    所以,问题是,我是在思考并且这样做完全是错误的方式还是我错过了一些明显的东西?所有的想法和建议,然后欢迎。

1 个答案:

答案 0 :(得分: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的媒体选择器字段。