Changes for page 学校ページ テンプレート
Last modified by Super Admin on 2026/04/05 18:59
From version
118.1
edited by Super Admin
on 2026/04/01 17:36
on 2026/04/01 17:36
Change comment:
There is no comment for this version
To version
114.1
edited by Super Admin
on 2026/03/27 03:45
on 2026/03/27 03:45
Change comment:
There is no comment for this version
Summary
Details
- Page properties
-
- Content
-
... ... @@ -387,7 +387,7 @@ 387 387 #end 388 388 #if($canEditSchool) 389 389 <div style="text-align:right; margin-bottom:12px;"> 390 - <a href="$doc.getURL('view', 'sheet=SeitokaiCode.SchoolEditForm')" class="btn-school-edit"><svg class="ico" viewBox="0 0 24 24"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg> 情報を編集</a> 390 + <a href="$doc.getURL('view', 'sheet=SeitokaiCode.SchoolEditForm')" class="btn-school-edit"><svg class="ico" viewBox="0 0 24 24"><path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/><path d="M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/></svg> 基本情報を編集</a> 391 391 </div> 392 392 #end 393 393 ... ... @@ -1050,42 +1050,22 @@ 1050 1050 {{/html}} 1051 1051 1052 1052 ## 活動を「年度降順 + 特色あり先頭」で並び替え 1053 -## Step1: fySet から年度を降順ソート( Velocityネイティブ実装)1053 +## Step1: fySet から年度を降順ソート($sorttool を使用) 1054 1054 #set($fyNums = []) 1055 1055 #foreach($fy in $fySet) 1056 1056 #if($fy && $fy != '' && $fy != 'unknown') 1057 - #set($fyInt = $mathtool.toInteger($fy)) 1058 - #if($fyInt) 1059 - #set($discard = $fyNums.add($fyInt)) 1060 - #end 1057 + #set($discard = $fyNums.add($fy)) 1061 1061 #end 1062 1062 #end 1063 -## 最大値を順番に取り出して降順リストを構築(最大20年度まで対応) 1060 +#set($fySorted = $sorttool.sort($fyNums)) 1061 +#if(!$fySorted)#set($fySorted = $fyNums)#end 1064 1064 #set($fyDesc = []) 1065 -#set($fyRemaining = []) 1066 -#foreach($fy in $fyNums) 1067 - #set($discard = $fyRemaining.add($fy)) 1063 +#foreach($fy in $fySorted) 1064 + #set($discard = $fyDesc.add(0, $fy)) 1068 1068 #end 1069 -#foreach($dummy in [1..20]) 1070 - #if($fyRemaining.isEmpty())#break#end 1071 - #set($fyMax = $fyRemaining.get(0)) 1072 - #foreach($fy in $fyRemaining) 1073 - #if($fy > $fyMax)#set($fyMax = $fy)#end 1074 - #end 1075 - #set($discard = $fyDesc.add($fyMax)) 1076 - #set($fyNextRem = []) 1077 - #set($fyMaxRemoved = false) 1078 - #foreach($fy in $fyRemaining) 1079 - #if(!$fyMaxRemoved && $fy == $fyMax) 1080 - #set($fyMaxRemoved = true) 1081 - #else 1082 - #set($discard = $fyNextRem.add($fy)) 1083 - #end 1084 - #end 1085 - #set($fyRemaining = $fyNextRem) 1066 +#if($fySet.contains('unknown')) 1067 + #set($discard = $fyDesc.add('unknown')) 1086 1086 #end 1087 -## 年度未設定の活動は末尾に表示(fySetに'unknown'は入らないため無条件追加) 1088 -#set($discard = $fyDesc.add('unknown')) 1089 1089 ## Step2: 年度降順で featured → normal の順にインデックスを収集 1090 1090 #set($orderedActivityIndices = []) 1091 1091 #foreach($curFY in $fyDesc) ... ... @@ -1618,7 +1618,7 @@ 1618 1618 } 1619 1619 // ページ読み込み時の初期化 1620 1620 document.addEventListener('DOMContentLoaded', function() { 1621 - // 年度タブを降順にソート(「全期間」タブは 先頭に固定)1601 + // 年度タブを降順にソート(「全期間」タブは末尾に固定) 1622 1622 var tabContainer = document.querySelector('.activity-fy-tabs'); 1623 1623 if (tabContainer) { 1624 1624 var tabs = Array.from(tabContainer.querySelectorAll('.activity-fy-tab')); ... ... @@ -1635,9 +1635,9 @@ 1635 1635 var bYear = parseInt(b.textContent) || 0; 1636 1636 return bYear - aYear; 1637 1637 }); 1638 - // DOM再配置(全期間を先頭、年度タブを降順で続ける) 1639 - if (allTab) { tabContainer.appendChild(allTab); } 1618 + // DOM再配置 1640 1640 fyTabs.forEach(function(t) { tabContainer.appendChild(t); }); 1620 + if (allTab) { tabContainer.appendChild(allTab); } 1641 1641 } 1642 1642 // デフォルトで全期間を表示 1643 1643 var defaultTab = document.querySelector('.activity-fy-tab.active');