Changes for page 学校一覧
Last modified by Super Admin on 2026/03/23 10:15
From version
31.1
edited by Super Admin
on 2026/03/21 17:44
on 2026/03/21 17:44
Change comment:
There is no comment for this version
To version
22.1
edited by Super Admin
on 2026/03/13 00:18
on 2026/03/13 00:18
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -3,49 +3,22 @@ 3 3 ## ソート: 更新順(デフォルト)/ 都道府県順 4 4 ## カード形式で表示し、活動数・投稿数・最終更新日を表示 5 5 6 -## --- 閲覧者情報(非表示校フィルタ用) --- 7 -#set($listViewerUser = $xcontext.user) 8 -#set($isListAdmin = false) 9 -#if($listViewerUser != 'XWiki.XWikiGuest') 10 - #set($listViewerDoc = $xwiki.getDocument($listViewerUser)) 11 - #set($listViewerAccountType = $!listViewerDoc.getValue('accountType')) 12 - #if($listViewerAccountType == 'admin') 13 - #set($isListAdmin = true) 14 - #end 15 -#end 16 - 17 17 #set($sortParam = $!request.sort) 18 18 #if(!$sortParam || $sortParam == '') 19 19 #set($sortParam = 'updated') 20 20 #end 21 21 22 -## ソート順に応じたXWQLクエリ(非表示校フィルタ付き) 23 -#if($isListAdmin) 24 - ## 管理者: 全校表示 25 - #if($sortParam == 'pref') 26 - #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school order by school.prefecture, school.schoolName")) 27 - #else 28 - #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school order by doc.date desc")) 29 - #end 11 +## ソート順に応じたXWQLクエリ 12 +#if($sortParam == 'pref') 13 + #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school order by school.prefecture, school.schoolName")) 30 30 #else 31 - ## 一般: 非表示校を除外 32 - #if($sortParam == 'pref') 33 - #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school where (school.hidden <> 1 or school.hidden is null) order by school.prefecture, school.schoolName")) 34 - #else 35 - #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school where (school.hidden <> 1 or school.hidden is null) order by doc.date desc")) 36 - #end 15 + ## 更新順: ドキュメントの最終更新日でソート(降順) 16 + #set($query = $services.query.xwql("from doc.object(SeitokaiCode.SchoolClass) as school order by doc.date desc")) 37 37 #end 38 38 #set($results = $query.execute()) 39 39 40 40 {{html clean="false"}} 41 -<div style="display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--sp-3); margin-bottom:var(--sp-2);"> 42 - <h1 class="home-section-title" style="margin-bottom:0;">登録されている学校</h1> 43 - #if($listViewerUser != 'XWiki.XWikiGuest') 44 - <a href="/bin/SeitokaiCode/CreateSchool" class="btn-primary" style="white-space:nowrap; text-decoration:none;"> 45 - <svg class="ico" viewBox="0 0 24 24" style="vertical-align:middle; margin-right:4px;"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>新しく学校を追加する 46 - </a> 47 - #end 48 -</div> 21 +<h1 class="home-section-title">登録されている学校</h1> 49 49 <div class="sort-header"> 50 50 <div class="school-count"> 51 51 $results.size() 校が登録されています ... ... @@ -86,15 +86,13 @@ 86 86 #set($actCount = $schoolDoc.getObjects('SeitokaiCode.ActivityClass').size()) 87 87 ## 投稿数をカウント(全活動の投稿合計) 88 88 #set($postCount = $schoolDoc.getObjects('SeitokaiCode.ActivityPostClass').size()) 89 - ## 特色ある活動の数 とタイトルを収集62 + ## 特色ある活動の数をカウント 90 90 #set($schoolActivities = $schoolDoc.getObjects('SeitokaiCode.ActivityClass')) 91 91 #set($featuredCount = 0) 92 - #set($featuredTitles = []) 93 93 #if($schoolActivities) 94 94 #foreach($sa in $schoolActivities) 95 95 #if($!sa.getValue('featured') == '1') 96 96 #set($featuredCount = $featuredCount + 1) 97 - #set($discard = $featuredTitles.add($!sa.getValue('title'))) 98 98 #end 99 99 #end 100 100 #end ... ... @@ -107,14 +107,10 @@ 107 107 </div> 108 108 #end 109 109 110 - #set($sHidden = $!schoolObj.getValue('hidden')) 111 - <a href="$schoolDoc.getURL('view')" class="school-card #if($sHidden == 1)school-card-hidden#end"> 81 + <a href="$schoolDoc.getURL('view')" class="school-card"> 112 112 <div class="school-card-body"> 113 113 <div class="school-card-header-row"> 114 114 <div class="school-card-name">$!escapetool.xml($sName)</div> 115 - #if($sHidden == 1) 116 - <span class="badge-hidden">非表示</span> 117 - #end 118 118 #if($sEst) 119 119 <span class="school-card-badge #if($sEst == '公立')public#elseif($sEst == '私立')private#else national#end">$!escapetool.xml($sEst)</span> 120 120 #end ... ... @@ -124,12 +124,10 @@ 124 124 #if($sCoed) ・ $!escapetool.xml($sCoed)#end 125 125 #if($sSystem && !$sSystem.isEmpty()) ・ #foreach($__sys in $sSystem)#if($foreach.count > 1)・#end$!escapetool.xml($__sys)#end#end 126 126 </div> 127 - ## 特色ある活動 タイトル94 + ## 特色ある活動バッジ 128 128 #if($featuredCount > 0) 129 - <div class="school-card-featured-titles"> 130 - #foreach($ft in $featuredTitles) 131 - <span class="featured-title-item"><svg class="ico ico-fixed-12" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> $!escapetool.xml($ft)</span> 132 - #end 96 + <div class="school-card-featured-wrap"> 97 + <span class="badge-featured"><svg class="ico ico-fixed-14" viewBox="0 0 24 24" fill="currentColor" stroke="none"><polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/></svg> 特色ある活動 ${featuredCount}件</span> 133 133 </div> 134 134 #end 135 135 <div class="school-card-stats">