mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-10-15 19:54:57 +08:00
113 lines
5.6 KiB
Plaintext
113 lines
5.6 KiB
Plaintext
@model Orchard.Packaging.ViewModels.PackagingExtensionsViewModel
|
|
@using Orchard.Packaging.ViewModels;
|
|
@using System.Linq;
|
|
|
|
@{
|
|
Style.Require("PackagingAdmin");
|
|
|
|
var pageSizes = new List<int?>() { 10, 50, 100 };
|
|
var defaultPageSize = WorkContext.CurrentSite.PageSize;
|
|
if (!pageSizes.Contains(defaultPageSize)) {
|
|
pageSizes.Add(defaultPageSize);
|
|
}
|
|
|
|
Layout.Title = T("Themes").ToString();
|
|
}
|
|
|
|
@using (Html.BeginFormAntiForgeryPost(Url.Action("Themes", "Gallery"))) {
|
|
<fieldset class="bulk-actions">
|
|
<label for="filterResults" class="bulk-filter">@T("Show")</label>
|
|
<select id="sourceId" name="sourceId">
|
|
@Html.SelectOption("", Model.SelectedSource == null, T("All feeds").ToString())
|
|
@foreach (var source in Model.Sources) {
|
|
@Html.SelectOption(source.Id, Model.SelectedSource != null && Model.SelectedSource.Id == source.Id, source.FeedTitle)
|
|
}
|
|
</select>
|
|
</fieldset>
|
|
|
|
<fieldset class="bulk-actions">
|
|
<label for="filterResults">@T("Sort by:")</label>
|
|
<select id="filterResults" name="@Html.NameOf(m => m.Options.Order)">
|
|
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Downloads, T("Downloads").ToString())
|
|
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Ratings, T("Ratings").ToString())
|
|
@Html.SelectOption(Model.Options.Order, PackagingExtensionsOrder.Alphanumeric, T("Alphanumeric").ToString())
|
|
</select>
|
|
<input type="hidden" name="Page" value="1" />
|
|
<label for="pageSize">@T("Show:")</label>
|
|
<select id="pageSize" name="PageSize">
|
|
@Html.SelectOption((int)Model.Pager.PageSize, 0, T("All").ToString())
|
|
@foreach (int size in pageSizes.OrderBy(p => p)) {
|
|
@Html.SelectOption((int)Model.Pager.PageSize, size, size.ToString())
|
|
}
|
|
</select>
|
|
<button type="submit">@T("Apply")</button>
|
|
</fieldset>
|
|
|
|
<fieldset class="search-actions">
|
|
<input type="text" id="searchText" name="@Html.NameOf(m => m.Options.SearchText)" value="@Model.Options.SearchText" />
|
|
|
|
<button type="submit">@T("Search")</button>
|
|
</fieldset>
|
|
|
|
if (Model.Extensions.Count() > 0) {
|
|
<ul class="contentItems theme">
|
|
@foreach (var item in Model.Extensions) {
|
|
<li>
|
|
@{
|
|
string extensionClass = "iconThumbnail";
|
|
string iconUrl = @item.IconUrl;
|
|
if (!string.IsNullOrWhiteSpace(@item.FirstScreenshot)) {
|
|
iconUrl = @item.FirstScreenshot;
|
|
extensionClass = "screenshotThumbnail";
|
|
} else if (string.IsNullOrWhiteSpace(iconUrl)) {
|
|
iconUrl = Href("../../Content/Images/imagePlaceholder.png");
|
|
extensionClass = "screenshotThumbnail";
|
|
}
|
|
}
|
|
|
|
<div class="@extensionClass">
|
|
<div class="extensionDetails column">
|
|
<div class="extensionName">
|
|
@if (!string.IsNullOrWhiteSpace(item.GalleryDetailsUrl)) {
|
|
<a href="@item.GalleryDetailsUrl">
|
|
<h2>@item.Title<span> - @T("Version: {0}", item.Version)</span></h2>
|
|
</a>
|
|
} else {
|
|
<h2>@item.Title<span> - @T("Version: {0}", item.Version)</span></h2>
|
|
}
|
|
</div>
|
|
|
|
<div class="related">
|
|
@Html.ActionLink(T("Install").ToString(), "Install", new RouteValueDictionary { { "packageId", item.PackageId }, { "version", item.Version }, { "sourceId", item.Source.Id }, { "redirectTo", "Themes" } })@T(" | ")
|
|
<a href="@item.PackageStreamUri">@T("Download")</a>
|
|
</div>
|
|
|
|
<div class="properties">
|
|
<p>@(item.Description == null ? T("(No description").Text : item.Description)</p>
|
|
<ul class="pageStatus">
|
|
<li>@T("Last Updated: {0}", item.LastUpdated)</li>
|
|
<li> | @T("Author: {0}", !string.IsNullOrEmpty(item.Authors) ? item.Authors : T("Unknown").ToString())</li>
|
|
<li> | @T("Downloads: {0}", item.DownloadCount)</li>
|
|
<li> | @T("Website: ")
|
|
@if (!string.IsNullOrEmpty(item.ProjectUrl)) { <a href="@item.ProjectUrl">@item.ProjectUrl</a> } else { @T("Unknown").ToString() }
|
|
</li>
|
|
<li><div> | @T("Rating: ")
|
|
<div class="ratings" style="width:@(15 * 5)px" title="@T("Ratings: {0} ({1})", item.Rating, item.RatingsCount)">
|
|
<div class="score" style="width:@(15 * (item.Rating))px"> </div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="extensionThumbnail column">
|
|
<img src="@iconUrl" class="thumbnail" alt="theme" />
|
|
</div>
|
|
</div>
|
|
</li>}
|
|
</ul>
|
|
}
|
|
|
|
@Display(Model.Pager)
|
|
} |