順位表ブロック
スポーツチームやクラブのためのランキング形式のシーズン成績表です: チーム名、試合数/勝ち/引き分け/負け、得点/失点、勝ち点を並べ、勝ち点で降順に並べ替えて上位3行に印を付けます。分析とチャートブロックページのすべてのブロックとは異なり、このブロックは画像としてレンダリングされることが一切ありません — 本物のHTML <table>がブロックそのものであり、Outlookを含むすべてのメールクライアントで表示されます。
仕組み
分析ファミリーの13種類のチャートブロックはいずれも、サーバー側で生成されたラスター画像を、それに添えるテキストフォールバックと共にレンダリングします。これは、棒グラフや折れ線グラフには、すべてのクライアントで一貫して表示される同等のHTMLマークアップが本当に存在しないためです。ランキング形式の表にはその問題がありません: 並べ替えられた行と列は、<table>マークアップがどこでも一貫してネイティブにレンダリングすることが既にできる、まさにそのものです。OutlookのWordベースのエンジンも含めてです。ここには画像+フォールバックの分岐はなく、無条件に使われる1つのレンダリングパスだけがあります。
行はインスペクターの行エディターに直接入力します。1チーム1行です。まだライブのデータソース紐付けはないため、各試合の後にブロックを手動で更新します — データソースに紐付ける前のKPIスコアカードの入力済みvalueが使っているのと同じ手動更新のモデルです。並べ替えはレンダリング時に行われます: 行は勝ち点の列で降順に並べ替えられ、同点の場合はArray.prototype.sortが安定ソートであるため、並べ替えられることなく元の入力順を保ちます。並べ替え後の上位3行には、プレーンな数字の代わりに順位バッジ(🥇🥈🥉)が付き、4位以下の行にはプレーンな順位番号が付きます。
勝ち点は常に自分で入力する数値です。勝ち/引き分け/負けから計算されることは一切ありません。リーグによって勝ち点の付け方が異なるため(単純な勝利3点、高得点での敗戦へのボーナス点など)、1つの計算式を決め打ちすることはほとんどのスポーツにおいて誤りになるためです。
バスケットボールやほとんどのテニスリーグのように引き分けが存在しないスポーツでは、引き分け列を表示をオフにします。これを行うと、見た目上隠すだけでなく、ヘッダーとすべての行から「D」列そのものが取り除かれます。チームを強調表示は、行のチームの値と大文字小文字を区別せずに一致判定を行い、一致した場合はその行のテキストを太字にし、背景に色を付けます。これは保護者向けダイジェストで、家族が表全体を見なくても自分の子どものチームを一目で見つけられるようにするのに便利です。
チーム名が空でない行が1つもない場合でも、ブロックはタイトルとカードの外枠をレンダリングし、空の表の代わりに「順位表をレンダリングするには少なくとも1チームを追加してください」というプレーンな通知を表示します。これは、他のすべての分析ブロックの空データ分岐が従っている「編集中にエラーで落とさない」という同じ規則です。
順位表は純粋なコンテンツです: 回答するものが何もないため — 会場ブロックと同様に — 回答ダッシュボード、CSVエクスポート、クリックヒートマップには一切表示されません。ブロック内にリンクは一切ありません。
設定可能なフィールド:
- タイトル — 表の上に表示されます。省略すると表だけがレンダリングされます。
- チーム — 行のリストです: チーム、試合数、勝ち、引き分け、負け、得点、失点、勝ち点。
- 引き分け列を表示 — 「D」列の表示/非表示を切り替えます。
- チームを強調表示(完全一致) — チーム列に対して大文字小文字を区別しない一致判定を行います。
- カード全体の背景色、パディング、枠線、角丸。
- タイトルの色/サイズ、および表のテキストの色/サイズ。
例
Subject
Season standings after Week 10
「スポーツチーム」用途のプロジェクトは、会場、カレンダーに追加、RSVPと並んで、あらかじめ順位表ブロックが配置された状態で新しいプロジェクトを開始します。同じブロックを最新の結果で更新する週次ダイジェストを送信します — 複数のスクワッドや年代グループをまたいで1つの共有連絡先リストを保つ方法も含めた全体のパターンについてはスポーツチームとクラブを参照してください。リーグのニュースレターでは、取り上げるべき単一の「ホーム」チームがないため、チームを強調表示を空欄にしたまま、1つのメールでディビジョン全体の結果をまとめます。ユース向けクラブでは、チームごとに個別のメールを送る代わりに、visibleWhenオーディエンスフィルターを通じてスクワッドごとにチームを強調表示を設定しながら、同じ順位表メールを全保護者に送信します。
静的フォールバックの見え方
<div style="margin:12px 0;background-color:#ffffff;padding:16px;border-radius:8px">
<p style="margin:0 0 8px;font-weight:600;font-size:15px;color:#111827">Standings</p>
<table style="width:100%;border-collapse:collapse;margin-top:4px">
<tr>
<th style="text-align:left;padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:600">#</th>
<th style="text-align:left;padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:600">Team</th>
<th style="text-align:right;padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:600">Pts</th>
</tr>
<tr style="background-color:#eef2ff">
<td style="padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:700">🥇 1</td>
<td style="padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:700">Eagles</td>
<td style="text-align:right;padding:4px 8px;border-bottom:1px solid #e5e7eb;font-weight:700">23</td>
</tr>
</table>
</div>
これがブロックの実際の、唯一のレンダリングです — 表はどのクライアントでも同じマークアップなので、別のフォールバックティアはありません。(試合数/勝ち/引き分け/負け/得点/失点の各列は簡潔にするためここでは省略しています。メダル付きの行は、強調表示されたチームの色付けが同じ行に適用されている様子を示しています。)