도와 주세요.:조건부 테이블

Help

파서 함수를 사용하면 테이블 행, 열 또는 셀을 조건부로 표시할 수 있습니다.그러나 파서 함수에는 몇 가지 한계가 있습니다.

기본사용

다음 예는 의 기본적인 사용 방법을 보여 줍니다.#if파서 함수 확장에서 사용할 수 있습니다.

 {{#if:{{foo_foo}}} foo가 "{{foo_foo}}"로 설정되어 있습니다. foo는 "blank"}}

여기서,{{{variable_foo}}}에서는 빈 값이 아닌 값으로 정의되어 있는지 확인합니다.아래 표에는 템플릿 호출의 출력이 나와 있습니다(템플릿을 호출합니다).{{Conditional tables/example 1}}의 값이 서로 다릅니다.{{{variable_foo}}}:

템플릿 호출 결과
{{Conditional tables/example 1}} foo는 공백입니다.
{{Conditional tables/example 1 variable_foo=}} foo는 공백입니다.
{{Conditional tables/example 1 variable_foo=value}} foo가 으로 설정되었습니다.

위치 매개변수{{{1}}}명명된 매개 변수와 같은 작업:

 {{#if:{{1}}} 첫 번째 매개 변수는 "{{1}}"이고 첫 번째 매개 변수는 "blank"}}입니다.
템플릿 호출 결과
{{Conditional tables/example 1b bar}} 첫 번째 매개 변수가 비어 있습니다.
{{Conditional tables/example 1b foo bar}} 첫 번째 매개 변수는 foo입니다.
{{Conditional tables/example 1b [[m: not empty]]}} 첫 번째 매개 변수가 비어 있지 않습니다.
{{Conditional tables/example 1b bad=idea}} 첫 번째 매개 변수가 비어 있습니다.
{{Conditional tables/example 1b 1=ok=yes}} 첫 번째 매개 변수는 정상=예

링크의 파이프 기호(수직 막대)가 그대로 작동하는 방식에 주목하십시오. Wiki 테이블 내에서는 아래를 참조하십시오.

행 전체 숨기기

테이블 내의 데이터 행을 숨길 수도 있지만 주의해야 할 문제가 있습니다.

잘못된 사용법

불행하게도#ifMediaWiki 테이블 구문이 잘 작동하지 않습니다.예를 들어, 다음 {{조건부 테이블/예시 2}}은(는) 유효하지 않으며 작동하지 않습니다.

class="신뢰할 수 없는" {{#if:{{variable_foo}}} - ! Foo {{variable_foo}}} - ! Bar {{variable_bar}}} }

아래 표는 {{Conditional tables/example 2}}을(를) 사용할 때의 효과를 보여줍니다.

템플릿 호출 결과
{{조건부 테이블/예제2}}
{{bar_bar}}
{{조건부 테이블/테이블 2 변수_foo=}}
{{bar_bar}}
{{조건부 테이블/테이블 2개 변수_foo=변수_bar=bar}}
{{조건부 테이블/테이블 2 변수_foo=value}
{{bar_bar}}
{{조건부 테이블/테이블2 변수_foo=값 변수_bar=bar}}

파이프 문자 사용에 문제가 있습니다( 템플릿 호출에서 이 문자는 매개 변수를 구분하는 데 사용되므로 유효하지 않습니다.

올바른 사용법

플랜 A

테이블(또는 테이블 내의 다른 구조)에서 행을 숨기는 한 가지 방법은 HTML을 [1]직접 사용합니다.HTML은 MediaWiki 테이블 구문보다 더 복잡하지만 그 이상은 아닙니다.일반적으로 알아야 할 HTML 태그는 몇 개뿐입니다.

  • <tr>이 태그는 새 행을 만듭니다(와 유사합니다. -MediaWiki 테이블 구문)
  • <th>이 태그는 행 내에 새 헤더 셀을 만듭니다.!MediaWiki 테이블 구문)
  • <td>이 태그는 행 내에 새 셀을 만듭니다. MediaWiki 테이블 구문)
  • <caption>이 태그는 캡션을 만듭니다. +MediaWiki 테이블 구문)

위의 잘못된 템플릿 예제에서 HTML로 전환하면 다음 코드가 생성됩니다.

class="신뢰할 수 없는" {{#if:{{traw_foo}}<tr> altbrawsFoo</th><td>{{variable_foo}}}//td></tr>}} -!  {{bar_bar}}}}

위의 코드는 {{Conditional tables/example 2a}}에 있습니다.이전과 마찬가지로 아래 표는 사용 시의 효과를 보여줍니다.

템플릿 호출 결과
{{조건부 테이블/보기 2a}}
{{bar_bar}}
{{조건부 테이블/테이블 2a 변수_foo=}}
{{bar_bar}}
{{조건부 테이블/테이블 2a 변수_foo=변수_bar=bar}}
{{조건부 테이블/테이블 2a 변수_foo=값}
가치
{{bar_bar}}
{{조건부 테이블/테이블 2a 변수_foo=값 변수_bar=bar}}
가치

플랜 B

위에서 언급한 것처럼 템플릿 내의 수직 막대 또는 파이프 기호가 유일한 문제입니다.문제가 있는 문자를 숫자 참조(예: "{", "",&#124; "", "}")로 대체하는 것이 좋습니다. 하지만 위키 테이블의 경우 실제 "" 구분 기호가 필요합니다. 를 구분 기호로 사용할 수 없습니다.

간단한 속임수를 사용하면 위키 테이블에서 실제 "" 구분 기호로 도착하는 동안 템플릿 매개 변수 값에서 ""을 보호할 수 있습니다. 마법 단어 {{!"!"( 느낌표)는 템플릿에 문제가 없으며 Wiki 테이블에서 사용되는 다른 구분 기호입니다.플랜 B의 코드는 다음과 같습니다.

class="신뢰할 수 없는" {{#if:{{foo}}{{!}}-!{{!{{foo}}} -!{{bar}}} }

위의 코드는 {{Conditional tables/example 2b}}에 있습니다.이전과 마찬가지로 아래 표는 사용 시의 효과를 보여줍니다.

템플릿 호출 결과
{{Conditional tables/example 2b bar=nobar}}
노바
{{Conditional tables/example 2b foo= bar=vbar}}
vbar
{{Conditional tables/example 2b foo=value}}
가치
{{bar}}}
{{Conditional tables/example 2b foo=value bar=vbar}}
가치
vbar

플랜 C

아마도 가장 간단한 옵션은 다음과 같이 CSS "display: none" 속성과 함께 조건부를 사용하는 것입니다.

class="transportable" - {{#if}: {{{display_foo}} style="display: none;" }}! Foo {{display_foo}} -! Bar {{disport_bar}}}

이런 방식으로 #if 조건부로 위키테이블 파이프 문자를 표시할 필요가 없습니다.그러나 음소거된 셀에 참조된 소스 및 메모는 다른 내용과 함께 표시되지 않으므로, 문서의 텍스트에서 참조가 발생하지 않고 문서 끝에 계속 나열됩니다.또한 이 방법은 CSS를 지원하는 브라우저에서만 작동합니다.

위의 코드는 {{Conditional tables/example 2c}}에 있습니다.이전과 마찬가지로 아래 표는 사용 시의 효과를 보여줍니다.

템플릿 호출 결과
{{Conditional tables/example 2c variable_bar=bar}}
{{foo_foo}}
{{Conditional tables/example 2c variable_foo= variable_bar=bar}}
{{Conditional tables/example 2c variable_foo=foo}}
{{bar_bar}}
{{Conditional tables/example 2c variable_foo=foo variable_bar=bar}}

도움 받기

템플릿을 원하는 대로 사용할 수 없는 경우 Village pump에 문의하거나 Requested templates에 요청하거나 IRC를 통해 편집자에게 문의할 수 있습니다.

참고 항목

연속적인 선택적 행의 경우 빈 행을 방지하려면 다음 항목을 참조하십시오.도움말: 표 #조건부 표 행.

에 대한 자세한 내용을 참조하십시오.#if(및 기타 #함수), 다음을 참조하십시오.

다음 도움말 항목에서는 템플릿에 대해 설명합니다.

이 도움말 항목에서는 테이블 설계에 대해 설명합니다(대부분의 템플리트가 테이블을 사용하므로 유용할 수 있음).

그리고 마지막으로:

참고 사항 및 참조 사항

  1. ^ 템플릿에서 HTML 테이블 코드를 사용하면 다른 MediaWiki Wiki로 이식할 수 없게 될 수 있습니다.이는 위키백과와 다른 위키미디어 재단 위키가 HTML Tidy를 통해 위키텍스트를 처리하기 때문입니다. 대부분의 다른 위키들은 동일한 설정을 가지고 있지 않으며 HTML 테이블 태그가 렌더링되지 않습니다.위키백과 참조:Wiki Project Transwiki#특수 템플릿.