1

ウィキメディアは、各行が単一のテンプレートから形成される、複数のテンプレートに基づいて表を作成する方法を説明しています。

とにかく列に対して同じことをすることはありますか? 簡単に聞こえますが、私はそれを機能させることができませんでした。代わりに、私のページには複数の列ではなく複数のテーブルが表示されました。

ここにいくつかのコードがあります:
行ページ

{|class="wikitable sortable" style="font-size:85%"
|+ table name
! Title 1
! Title 2
! Title 3
|-
{{R1}}
{{R2}}
{{R3}}
|}

行テンプレート:

| Row 1, Column 1
| Row 1, Column 2
| Row 1, Column 3
|-

コラムページ

{{C1}}{{C2}}{{C3}}

列テンプレート: これがどのように機能するかわかりません。

4

3 に答える 3

3

<div>フローティングs を使用して仮想テーブルを作成する以外に、私が知っている唯一の方法は、Labeled Section Transclusion (またはExtension:DynamicPageList{{#dpl}}がある場合は同等の機能) を使用することです。タグまたは見出しを使用して「列テンプレート」の各セルに個別にラベルを付け、列テンプレートからトランスクルージョンして各行を埋めるフレームワーク テーブルを作成します。構造は次のようになります。<section/>

{|class="wikitable sortable" style="font-size:85%"
|+ table name
! Title 1
! Title 2
! Title 3

|- valign="top
| {{#lst:col1|row1}}
| {{#lst:col2|row1}}
| {{#lst:col3|row1}}

|- valign="top
| {{#lst:col1|row2}}
| {{#lst:col2|row2}}
| {{#lst:col3|row2}}

|- valign="top
| {{#lst:col1|row3}}
| {{#lst:col2|row3}}
| {{#lst:col3|row3}}
...
|}

このソリューションには、行を捨てることができるように列を捨てる単純さが欠けていますが、残念ながら、HTML は真の列ベースの表を作成するようには設計されていません。ただし、このレイアウトでは、少なくとも各列のすべての情報が、より簡単に編集できる同じページに保存されます ( {{col1}}{{col2}}など)。テキスト情報を記録している場合は、各列を便利かもしれない別のページ。

これを頻繁に行う予定がある場合は、次のように行番号のみを指定する必要があるように、各行を埋めるテンプレートを作成することで、これをさらに簡素化できます: (列が常に記事のサブページとして配置されていると仮定すると、彼らは現れます)

template:col-based table row
{{!}}- valign="top"
{{!}} {{#lst: {{PAGENAME}}/col1 | row{{{1|}}} }}
{{!}} {{#lst: {{PAGENAME}}/col2 | row{{{1|}}} }}
{{!}} {{#lst: {{PAGENAME}}/col3 | row{{{1|}}} }}

次に、ヘッダーの下に次をリストするだけです。

{{col-based table row|1}}
{{col-based table row|2}}
{{col-based table row|3}}
...

ここで、テンプレートを使い果たすまでこれらの行を自動的に生成したい場合 (つまり、手動で設定せずに作成する行の数をテーブルに決定させる場合)、私はあなたを助けることができないと思います. . おそらく、DPL 拡張機能のテーブル生成機能を巧妙に利用したり、ループを作成できる拡張機能をインストールしたりすることはできますが、上記のように各行を手動で作成するのはおそらく行き詰まると思います。

最後に、これはコンテンツであって書式設定ではないため、コラム ページはテンプレート名前空間ではなくメインスペースに配置することをお勧めします。実際、これはサブページが優れている種類のものです。

于 2013-02-20T15:24:14.563 に答える
1

これは不可能だと思います。少し考えたのですが、どうすればいいのかわかりません。

おそらく、列と行の順序を再配置するネストされたテンプレートのようなものです。非常に難しいようで、理論的に可能かどうかはわかりません。

于 2010-07-06T15:44:14.513 に答える
-1

DIV を使用してテンプレートで埋められた列を取得できますが、各 div 内の各セルを手動で再作成してサイズを変更する必要があります

于 2012-04-17T19:38:34.007 に答える