Toc 플러그인
TOC 은 "table of contents" (목차)의 이니셜입니다. 한 구조체에 속하는 페이지 안에서 {toc} 태그를 사용하면 그 페이지의 하위 페이지를 나열하는 목차를 표시할 것입니다 (구조체 도 살펴보십시오). 페이지가 하위페이지가 없을 경우, 아무 것도 표시되지 않을 것입니다.
- 구조체의 'root' 페이지에서 사용되면, 구조체 전체의 목차 전부가 만들어 집니다.
- 한 하위페이지에서 사용되면, 한 챕터의 목차가 만들어 집니다 (그 페이지의 하위페이지들만 보임).
유사한 태그로는 {maketoc} 가 있으며, 이는 한 페이지의 제목들에서의 목차를 만들게 됩니다 (PluginMaketoc 을 참조).
변수
가능한 변수들에 대한 기본 선택사항은 아래에서 굵은체로 보입니다.
변수 |
값 |
설명 |
---|---|---|
order | asc 혹은 desc | 정렬순서 |
showdesc | 0 혹은 1 | 페이지의 설명 표시 |
shownum | 0 혹은 1 | 번호매김 표시 |
type | plain 혹은 fancy | fancy 의 경우, 페이지의 설명을 자동으로 표시 및 각 줄에 대하여 toclevel 클래스 대신 fancytoclevel 클래스 사용 |
structId | number (기본: 페이지가 속하는 구조체 ID that the page belongs to) | 구조체의 id, 혹은 구조체의 이름 (tw >2), 혹은 구조체 내부의 페이지의 page_ref_id (페이지 참조 ID) (추가 정보는 아래를 보십시오) |
maxdepth | number (기본: 0) | 만들어질 트리의 최대 깊이, 0이상의 숫자, 0 은 제한없음을 의미 |
pagename | string (기본: 현재 페이지 명) | 목차를 만들게 될 대상 페이지의 이름 |
여러 개의 구조체들 안의 동일한 페이지
여러 개의 구조체들에 있는 페이지를 탐색하는 것은 해당 페이지에 사용된 목차 플러그인이 예상치 못했던 방식으로 작동하는 원인이 될 수 있습니다. 이 경우에는 structId 변수를 지정하여 방식을 지정해야 합니다.
예를 들면, "Full" 이라 불리는 구조체와 "Shell" 이라는 구조체가 있다고 가정합시다. 그리고 이 두개의 구조체안에 모두 포함된 "Examples" 라는 페이지가 있다고 가정합시다. Full 구조체ㅔ서 Examples 페이지는 하부에 "Example 1", "Example 2" 그리고 "Example 3" 이라는 3개의 페이지가 있다고 가정합시다. Shell 구조체에는 Examples 페이지 하에 하부 페이지가 없습니다.
Examples 페이지가 매번 불려질 때마다 목차플러그인에서 3개의 example 하부 페이지들이 보이도록 하고 싶다면, structId 변수가 Full 구조체 내부의 Examples 페이지의 page_ref_id 로 설정되어야 합니다. 이 page_ref_id 가 무엇인지 확인하려면, 다음 단계를 따르십시오:
- tiki-admin_structures.php 로 가십시오
- 구조체의 이름을 클릭하십시오 (이 예제에서는 "Full")
- 표시되는 페이지에서 목차플러그인이 사용되는 페이지 이름 위로 마우스 포인터를 가져오십시오 (본 예제에서는 "Examples" )
- 페이지명 위로 마우스 포인터를 가져왔을 때 URL의 일부인 page_ref_id 에 주목하십시오
- 목차 플러그인 안의 structId 변수를 위에서 주목한 page_ref_id 과 동일하게 설정하십시오
이제 Examples 페이지의 목차플러그인이 Full 구조체에서 하부의 3 페이지를 보여줄 것입니다.
예제 1: plain 유형
아래의 코드:
{toc order=asc shownum=1 type=plain }
는 All the Documentation 페이지에 대하여 목차를 만들 것입니다.
에제 2: fancy 유형
아래의 코드:
{toc order=asc shownum=1 type=fancy }
는 All the Documentation 페이지에 대하여 목차를 만들 것입니다.
예제 3: fancy, showdesc 유형
아래의 코드:
{toc order=asc shownum=1 type=fancy showdesc=1 }
는 All the Documentation 페이지에 대하여 목차를 만들 것입니다.
주의할 점은 이 예제에서는 설명이 먼저 보이고 하이퍼링크라는 것과 타이틀 필드가 두 번째로 보인다라는 것입니다. 만약 페이지가 설명 필드가 없다면 (본 예제의 구조체의 많은 페이지들 처럼), 설명, 링크 혹은 제목이 보이지 않을 것입니다. 이 선택사항은 목차 내부의 모든 페이지들이 설명 필드가 설정되어 있을 경우에만 사용합니다.
예제 4: pagename
아래의 코드:
{toc pagename="Documentation"}
는 All the Documentation 페이지에 대하여 목차를 만들 것입니다.
페이지명(pagename) 을 전달하는 것은 (최소) 2개의 경우에서 유용합니다:
- 구조체의 마스터 목차 페이지를 구조체의 마지막 페이지로 하고 싶을 때.
- 다른 페이지 내부에서 (PluginInclude 를 사용하여) 목차 태그로 페이지를 포함하고 싶을 때.
페이지의 이름을 목차 태그로 전달하지 않고 목차 태그와 함께 페이지를 포함할 경우, 목차는 포함된 페이지에 대한 목차를 보여주는 것 대신 자신이 포함된 페이지의 목차를 보여주게 될 것입니다.
이는 개요 및 포털 페이지에 대하여 유용합니다.
주의: 다른 구조체에서의 목차로 페이지를 포함해야할 경우, 구조체 ID 또한 전달할 필요가 있습니다.
모듈에서 목차의 탐색
module wikistructure 를 통하여 위키 페이지들의 구조체의 목차에서 동적 사이드 메뉴를 만들 수 있습니다.