divan/GanjooRazor/Pages/Search.cshtml
2021-11-13 18:44:34 +03:30

215 lines
10 KiB
Plaintext

@page
@model GanjooRazor.Pages.SearchModel
@{
Layout = null;
}
<!DOCTYPE html>
<html lang="fa-IR" dir="rtl">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>
@ViewData["Title"]
</title>
<link href="/css/p8.css?version=17" rel="stylesheet" type="text/css" />
<link href="/css/fab.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
</head>
<body>
@if (!string.IsNullOrEmpty(Model.LastError))
{
@Model.LastError
}
else
{
<div id="hdr2" class="clearfix">
<h1><a href="/" title="گنجور"><img src="/image/ganjadabk.gif" alt="گنجور" /></a></h1>
<div class="actionbox">
<form action="/search" method="get" id="searchform">
<input type="text" name="s" id="s" class="inputText" value="@Model.Query" placeholder="جستجو" />
<select name="author" id="author" onchange="onSelectedPoetChanged()">
@{
if (Model.PoetId != 0)
{
<option value="0">در آثار همهٔ سخنوران</option>
}
else
{
<option value="0" selected>در آثار همهٔ سخنوران</option>
}
if (Model.Poets != null)
{
foreach (RMuseum.Models.Ganjoor.ViewModels.GanjoorPoetViewModel poet in Model.Poets)
{
if (poet.Id == Model.PoetId)
{
<option value="@poet.Id" selected>@poet.Name</option>
}
else
{
<option value="@poet.Id">@poet.Name</option>
}
}
}
}
</select>
@{
if (Model.Poet != null)
{
<select name="cat" id="cat" style="width:150px">
@if (Model.CatId == 0)
{
<option value="0" selected>در همهٔ بخشها</option>
}
else
{
<option value="0">در همهٔ بخشها</option>
}
@{
foreach (var gran in Model.Poet.Cat.Ancestors)
{
@if (Model.CatId == gran.Id)
{
<option value="@gran.Id" selected>@gran.Title</option>
}
else
{
<option value="@gran.Id">@gran.Title</option>
}
}
@if (Model.CatId == Model.Poet.Cat.Id)
{
<option value="@Model.Poet.Cat.Id" selected>@Model.Poet.Cat.Title</option>
}
else
{
<option value="@Model.Poet.Cat.Id">@Model.Poet.Cat.Title</option>
}
foreach (var child in Model.Poet.Cat.Children)
{
@if (Model.CatId == child.Id)
{
<option value="@child.Id" selected>@child.Title</option>
}
else
{
<option value="@child.Id">@child.Title</option>
}
}
}
</select>
}
}
<input type="submit" value="بیاب" />
</form>
</div><!-- .actionbox -->
</div><!-- #hdr2 -->
<div id="fa">
<div id="maincnt">
<div class="spacer">&nbsp;</div>
@if (Model.Poems == null)
{
<div class="poem">
<h2>شعری با مشخصات مورد نظر شما پیدا نشد.</h2>
<p>
<strong>توصیه‌هایی برای دستیابی به نتیجهٔ مطلوبتر در جستجو:</strong>
</p>
<p>
الف) <strong>به جای جستجوی متن کامل یک بیت بهتر است حروف کلیدی آن را وارد کنید.</strong> از آنجا که اشعار به صورتهای مختلف در نسخه‌های متفاوت نقل شده‌اند ممکن است چیزی که شما در ذهن دارید با چیزی که در پایگاه ما ثبت شده متفاوت باشد. به عنوان نمونه مصرع «کشتی شکستگانیم ای باد شرطه برخیز» از حافظ در بعضی از نسخه‌ها به صورت «کشتی نشستگانیم ای باد شرطه برخیز» ضبط شده و شما با تایپ صورت صورت دوم آن را در گنجور نخواهید یافت. بهتر است برای یافتن این شعر کلماتی مانند کشتی و شرطه را جستجو کنیم.
</p>
<p>
ب) کلماتی را که ممکن است به صورت جدا یا سر هم نوشته شوند در گام اول به صورت جدا امتحان کنید (<strong>می شود</strong> و نه <del>میشود</del> یا <del>می‌شود</del>).
</p>
<p>
ج) در صورتی که نام شاعر را می‌دانید بهتر است از طریق لیست بازشوی جلوی جعبهٔ جستجو نام او را انتخاب کنید. این توصیه برای زمانی مناسب است که جستجوی عبارت مورد نظر شما باعث می‌شود آثار شاعرانی که مورد نظر شما نیستند در صدر نتایج قرار گیرد و به این وسیله شما می‌خواهید به فهرست محدودتری از نتایج دست پیدا کنید.
</p>
<p>
د) در صورتی که با فنون اولیهٔ جستجو آشنا نیستید یا <strong>معمولاً جستجوهایتان به نتیجهٔ مطلوب نمی‌رسد</strong> بد نیست نگاهی به <a href="http://hrmoh.ir/1385/04/18/howto-search-better/" title="توصیه هایی برای جستجوی بهتر در اینترنت">این نوشته</a> بیندازید.
</p>
</div>
}
else
foreach (var poem in Model.Poems)
{
<div class="sitem">
<h2>
<a href="@poem.FullUrl">@poem.FullTitle</a>
</h2>
<div class="spacer">&nbsp;</div>
<div class="sit">
@Html.Raw(poem.PlainText)
<p>
<br>
<a href="@poem.FullUrl">متن کامل شعر را ببینید ...</a>
</p>
</div>
<img src="@($"{GanjooRazor.APIRoot.InternetUrl}{poem.Category.Poet.ImageUrl}")" alt="@($"{poem.Category.Poet.Name}")" />
<div class="spacer">&nbsp;</div>
</div>
}
<div class="spacer">&nbsp;</div>
@Html.Raw(Model.PagingToolsHtml)
</div>
<partial name="_InlineLoginPartialForSearch" model="Model" />
<partial name="_FooterPartial" model="null" />
</div>
<script src="/lib/jquery/dist/jquery.min.js"></script>
<script src="/js/bk.js?version=10"></script>
<script src="/js/vaabd.js"></script>
@if (!string.IsNullOrEmpty(ViewData["GoogleAnalyticsCode"].ToString()))
{
<script>
(function (i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r; i[r] = i[r] || function () {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date(); a = s.createElement(o),
m = s.getElementsByTagName(o)[0]; a.async = 1; a.src = g; m.parentNode.insertBefore(a, m)
})(window, document, 'script', 'https://www.google-analytics.com/analytics.js', 'ga');
ga('create', '@ViewData["GoogleAnalyticsCode"]', 'auto');
ga('send', 'pageview');
</script>
}
}
</body>
</html>