프리티 (Pretty) 트래커



프리티 트래커의 개념은 드루팔의 CCK (컨텐츠 제작 키트, .Contents Construction Kit) 혹은 Mediawiki infoboxes 와 유사합니다. 이는 사이트 관리자로 하여금 양식을 설계하고, 그 정보를 관리하기 위하여 트래커 를 사용하고, 각각의 결과를 맞춤형 방식으로 표기하도록 합니다.

예. 영화 리뷰 사이트가 있다고 가정합시다. 다음의 질문을 하는 트래커를 생성할 수 있을 것입니다:

  • 영화의 제목 (텍스트 필드)
  • 리뷰 (텍스트영역 필드)
  • 점수 (숫자 필드)
  • 포스터 혹은 그림 (그림 필드)

트래커는 이러한 필드들의 순서와 크기를 변경할 수 있는 능력을 가지고 있으며, 약간의 노력을 기울이면, 트래커를 비교적 말끔한 배열로 표시되도록 할 수 있습니다. 하지만 (언제나처럼) 더 많은 것이 요구됩니다. HTML과 CSS 기술을 총 동원하여 트래커의 내용들을 배열하고 스타일을 가미하고 싶은 경우도 발생합니다. 프리티 트래커는 이런 요구사항에 대응합니다.

PluginTrackerlist 를 프리티 트래커 없이 사용한 단순 예제
typical trackerlist.jpg
항목을 표시하기 위하여 프리티 트래커가 템플릿을 사용함
simple prettytracker.jpg


버전:티키2에서 소개되었고, 티키3 이 후로 몇몇 추가 기능들이 이후에 등장했습니다. 프리티 트래커를 사용하여 다중 페이지 입력 양식과 같은 화려한 작업도 할 수 있습니다.

트래커 내부 아니면 위키 페이지 내부?

프리티 트래커가 사용되는 방식은 2가지가 있습니다.

  • (트래커 기능 내부의) 프리티 트래커는 트래커 기능 내부에서 트래커 항목들을 표시를 사용자 지정화 하기 위하여 템플릿을 사용하는 것입니다.
  • (위키 내부의) 프리티 트래커는 PluginTrackerlist를 통하여 위키 페이지들 내부에서 동일한 일을 합니다.
  • 티키6에서는 PluginTracker가 템플릿을 사용하여 위키 페이지에 직접 쓰기가 되도록 기능성이 추가되었습니다 (페이지가 만들어진 후 트래커 항목을 폐기합니다).


어떠한 방식이건, 템플릿을 사용하여 트래커 항목을 표기하는 것에 관한 내용입니다.

 주의
티키 세상에서 템플릿은 여러 개의 유사한 것들을 의미할 수있습니다. 즉. 컨텐츠 템플릿은 어떤 종류의 비슷비슷한 기능성에 모두 관련되어 있습니다. TPL은 템플릿에 대한 축약어이고, 이들은 상호 교환되어 사용될 수 있습니다, 여기서는 페이지 혹은 파일 둘 다 어떤 다른 페이지를 렌더하기 위한 지침을 담고 있는 것을 의미합니다.

프리티 트래커에 대한 빠른 단계별 지침서

프리티 트래커 입문서를 먼저 읽어 보십시오.

프리티 트래커의 부분들

프리티 트래커는 여러 개의 이동하는 부분들이 함께 묶여있는 것입니다. 그 모든 것들이 아래의 언급되는 부분들을 필요로 하지는 않을 것이지만, 이것은 전체 목록입니다. 아래 표에서 R=필수, Y=사용가능, N=사용되지 않음.

부분위키에서 사용 여부트래커에서 사용 여부설명갯수
트래커RR트래커는 데이터를 담는 표입니다한 개만.
트래커 필드 정보RR표의 열 / 서식의 필드들한 개 이상
PluginTracker YY사용될 경우, 트래커 기능 내부에서 "새 항목 생성"을 교체함.각 입력 위치에 대하여 1 (한 개 이상일 수 있음)
트래커 입력 TPLYNPluginTracker가 사용되는 경우, 이것으로 입력 서식이 어떻게 표시되는지를 제어할 수 있음각 PluginTracker 에 대하여 1
출력 페이지YN 한 개 항목의 결과가 위키 내부에 표시될 위키 페이지. 일반적으로 페이지명(pagename) = 항목명(item name) (트래커의 "항목으로의 링크" 필드)항목 당 1
트래커 항목YY 모든 트래커는 트래커 기능 내부에 항목들이 보이게 될 것입니다. PTW에 대하여 이는 중복되는 것이며 사용자에 의하여서만 사용될 수 있습니다. 항목 당 1
페이지 선택기 필드YNPTW 를 만드려면 반드시 사용되어야 하며, 여기서는 각 항목이 한 페이지와 연계됩니다.트래커 당 1
템플릿 표시RN위키 전용 - 페이지 선택기를 사용 시, 출력 페이지로 복사될 PluginTrackerlist 의 예제를 제공할 필요가 있습니다트래커 당 1 마스터 사본)
트래커 위키 출력 TPLRNPluginTrackerList이 사용하는 위키 페이지 혹은 tpl 파일. 다양한 위키 페이지 내부에서 모든 항목에 대한 출력이 어떻게 표시되는가를 제어.트래커 당 1, 모든 항목을 제어.
트래커 항목 출력 TPLYY트래커 자체에서 사용하는 위키 페이지 혹은 tpl 파일. 트래커 항목 보기 내부에서 모든 항목에 대한 출력이 어떻게 표시되는지를 제어.트래커 당 1, 모든 항목을 제어.
 
제대로 작동이 되려면, 템플릿으로서 사용된 위키 페이지는 tiki_p_use_as_template 권한을 프리티 티키로 작업을 하려고 계획중인 사용자의 그룹에 할당될 필요가 있습니다, in order to work properly.

어떻게 조립을 해야하는가


다음 그래픽은 위키 페이지 내부의 프리티 트래커가 어떻게 작동을 하는지를 표사합니다, 동시에 입력페이지와 출력페이지에 대한 템플릿을 어떻게 보유하는지에 대한 내용도 포함합니다.
Blue 최종 사용자가 보는 개체. Green 화면 뒤의 개체, 파란 개체의 플러그인에 의하여 호출됨. Red 화살표는 시간 순서를 나타냅니다: 입력, 처리, 출력.
Pretty Tracker in a Wiki.png

작동 중인 프리티 트래커

코드의 순서를 실행할 때, 다음과 같이 작동합니다.
1. 입력 페이지PluginTracker를 호출하고, 이는 TPL 을 호출합니다
2. 입력 페이지 가 "프리티"로 브라우저 내부에 렌더됩니다
3. 최종 사용자가 트래커의 필드에 대한 입력을 제공합니다 - 달리 말하자면, 형식을 기입하고, 이는 새 위키 페이지의 제목이 될 "페이지 선택기"로 이름을 제공하는 것을 포함합니다.
4. 트래커 항목이 배경에서 만들어집니다.
5. 트래커가 항목 표시 TPL를 보유하는 경우, 그것이 트래커 항목을 렌더하기 위하여 호출됩니다.
6. 페이지 선택기가 존재한다면 위키 페이지가 만들어지고 "트래커 표시"의 컨텐츠로 채워집니다, 이는 일반적으로 단순히 사전 구성된 PluginTrackerList 입니다.
7. 위키 페이지가 방문되면, PluginTrackerlist 가 트래커로부터 필드와 트래커 출력 TPL 을 호출하고 이들을 혼합하여 최종 사용자가 보게되는 "프리티" 페이지를 렌더합니다.

 주의
프리티 트래커는 트래커 설정 (관리) 내부의 '미러 테이블'이 설정되었을 때 작동하지 않습니다

학습서 - 간단한 프리티 트래커.


다음의 단계별 학습서트래커 기능 내부에 프리티 트래커 를 만들수 있게 할 것입니다. 이는 좀 더 복잡한 프리티 트래커를 만드는 것에 대하여 추천되는 첫 단계입니다. 이 학습서에서 귀하는 "항목 출력 TPL'' 을 사용하여 프리티 트래커 항목을 표시하게 될 것입니다. 여기까지 오셨으면, 위키 안의 프리티 트래커 출력 TPL 에 대한 기본으로써여기에서 만든 템플릿을 사용할 수 있습니다.

Pretty Tracker in a Tracker.png

주의: 이 학습서는 귀하가 트래커를 설치 방법을 알고 있다는 것을 가정합니다.
1. 일반 트래커를 만드십시오. 원하는 경우 기존 트래커를 "프리티-화" 할 수 있습니다. 필요한 경우, 방법을 배우려면 트래커에 관한 문서를 참고하십시오. 여기서 트래커명은 Simple Tracker (단순 트래커) 입니다.

  • "항목을 표시할 위키 페이지"를 아직 기입하지 마십시오 (이는 트래커 편집 패널에서 마지막 선택사항입니다). 우리를 이를 후에 기입할 것입니다.
  • 만든 트래커 ID가 무엇인지 확인하십시오. 여기서는 이를 trackerID=8 라고 가정하겠습니다.

2. 트래커에 대하여 필드를 만드십시오. 지금은 이것이 어떻게 표시될 것인지, 순서가 어떻게 되거나 혹은 크기가 어떻게 되거나 등을 변경하기 위하여 시간을 소비하지 마십시오.
3. 트래커에 대한 항목이 아직 존재하지 않는 경우 테스트 항목을 몇 개 만드십시오. 여기에서의 요점은 최대한 빨리 4단계로 넘어가는 것입니다. 추후에 언제든지 더 많은 필드를 추가할 수 있습니다.
4. 귀하의 트래커의 항목을 보기 위하여 뒤로 이동하여 yourdomain.org/tiki-view_tracker.php?trackerId=8 을 살펴보십시오 (8 대신 귀하의 URL 안의 트래커 ID로 교체하십시오). 다 있습니까? 좋습니다.
5. 트래커 필드 ID를 나열 두 번째 브라우저를 열고 tiki-admin_tracker_fields.php?trackerId=8로 다시 탐색하십시오. 다음 단계를 작업하는 동안 이 페이지를 열린 채로 두십시오.
6. 출력 TPL 만들기 단순 트래커 출력 TPL 이란 위키 페이지를 만드십시오 ('단순 트래커' 를 귀하의 트래커의 이름으로 교체하십시오. 창작력을 발휘하실 필요는 없습니다, 추후에 혼선을 피하기 위하여 이 명명 규칙을 사용하십시오.
7. 새 위키 페이지안에서 다른 브라우저 창에서 보이는 필드ID 전부를 사용하여 변수와 필드명의 변수의 목록을 입력하십시오. 아래에서처럼 변수로써 필드ID를 입력하십시오.

Copy to clipboard
{$f_12} Username {$f_13} City {$f_14} Photo {$f_15} Join Date {$f_16} Wants to Buy {$f_17} Wants to Sell {$f_18} GroupName

우리가 여기에 가지고 있는 것은 개별 트래커 항목 필드에 속하는 정보에 의하여 교체될 자리표시자 입니다. 중괄호로 된 것들은 변수이며. 이들이 중요한 것들입니다. 이름은 이후에 지울 수 있지만, 혼선을 피하기 위하여 필요합니다.
8. HTML, 스마티 및 CSS 능력을 마음껏 발휘하십시오. By editing 단순 트래커 출력 TPL 을 편집하여 귀하는 트래커 내부의 모든 필드를 깔끔하고 프리티한 방법으로 제공하는 웹페이지를 만들고 있는 것입니다. 귀하의 목록에서 각 변수를 적절한 위치로 복사하고 붙여넣기하십시오. 저장하십시오.
9. 이 페이지에 특별 개체 권한 을 추가하십시오. 익명사용자와 등록 사용자, 혹은 트래커를 보게될 그 어떤 그룹에게 tiki_p_use_as_template 권한을 할당하십시오. 저장하십시오. 범주 혹은 전역 권한을 사용하여 이를 이미 설정하셨을 수도 있습니다, 하지만 이제는 이것이 작동한다는 것을 확신할 수 있습니다.
10. 지금 (다른 윈도우가 아직 열려있습니까? 저도 그렇길 바랍니다) Go back to go back to tiki-admin_trackers.php?trackerId=8&show=mod 로 돌아가기 위하여 뒤로 이동하여 "항목을 표시할 위키 페이지" 를 wiki:단순 트래커 출력 TPL 으로 설정하십시오. ("단순 트래커"를 귀하의 트래커이름으로 변경하셨었습니다, 맞습니까?) 저장하십시오.
11. 이제 tiki-view_tracker.php?trackerId=8 로 이동하십시오. 어떻게 보이나요? 프리티 합니까? 최고의 결과를 얻으려면 귀하의 템플릿 페이지를 몇 번 더 편집해야할 수도 있습니다. 만든 필드의 크기를 변경하기 위하여 tiki-admin_tracker_fields.php?trackerId=8 를 방문해야할 수도 있습니다 (아직까지는 이에 대하여 시간을 소비하는 것은 의미가 없었습니다.)
12. 만족하실 때까지 미세조정을 하십시오.

유동 프리티 트래커


지금까지 트래커 입력과 출력은 조금 정적이었습니다. 예를 들면, 필드를 다른 필드의 값에 따라 변경하는 것은 가능하지 않습니다.

하지만, 한 항목 안의 정보에 기반하여 귀하의 템플릿 내부에 다른 질문 혹은 다른 답이 표시되기를 원하는 경우는 어떻게 해야할 까요? 프리티 트래커와 자바 스크립트를 활용하고, HTML, DOM 및 자바스크립트에 대한 지식을 보유한 이들에게는 가능합니다. 다음 형식은 jQuery 라이브러리와 PluginJq을 사용합니다:

You do not have permission to insert an item


이 프리티 트래커의 레이아웃은 템플릿 페이지 유동 트래커 예제 템플릿 내부에 정의되어 있으며, 이는 형식을 유동적으로 만들 코드 또한 포함합니다. 아래의 코드는 이러한 필드를 제어할 필드 번호를 사용할 것입니다.

필드 번호이름
121컨텐츠 유형
122파일
123URL
124이것이 정책을 위반하지 않는다는 것을 확인하셨습니까?

 티키7 이후로 변경된 문법
트래커 필드에 대한 기본 문법이 티키7 이후로 변경되었다는 점에 유의하십시오, 그러므로 이들을 jQuery 플러그인 안에서 참조할 때, 구문을 갱신해야합니다.


트래커 필드 ID들과 일므들은 일관성을 향상하기 위하여 변경되었습니다: 모든 트래커 필드들은 이제 ins_XX 를 사용하며, 여기서 XX 는 필드ID 입니다.

For more information, read: http://doc.tiki.org/Tiki7#Upgrade_notes

조건 필드


형식은 초기에는 감쳐줘 있는 두 개의 대체 필드를 포함합니다. 라디오 버튼이 선택될 때, 해당하는 필드가 나타납니다. 이 필드 중 그 어느 것도 항상 요구되지는 않기 때문에, 트래커 필드는 필수로 정의되지 않습니다. 하지만, 이는 형식을 제출할 때 자바스크립트를 사용하여 에뮬레이트 됩니다.

초기 상태는 다음 코드로 달성됩니다:

Copy to clipboard
$("#fileprompt").hide(); $("#urlprompt").hide();

fileprompturlprompt 는 두 필드와 그들의 레이블의 표시를 제어하기 위하여 템플릿 안에 정의된 DIV 요소의 식별자입니다:

Copy to clipboard
{DIV(type="div",id="fileprompt")} File: {$f_122} {DIV} {DIV(type="div",id="urlprompt")} URL: {$f_123} {DIV}


다음 코드는 라디오 버튼의 선택을 처리합니다, 그리고 필드를 표시하고 다른 것들이 감쳐줘있다는 것을 확인합니다:

Copy to clipboard
$("input[name='track_121']").change(function(){ if ($(this).filter(":checked").val() === 'File') { $("#urlprompt").hide(); $("#fileprompt").fadeIn(); } else { $("#fileprompt").hide(); $("#urlprompt").fadeIn(); } });

이 함수는 필드 121이 변경될 때 실행됩니다. 함수가 실행될 때, 2 블럭 중 하나가 선택된 (혹은 "체크된") 라디오 버튼의 값에 따라 실행됩니다.

특정 값이 선택됐을 때 메시지 표시


사용자는 부울 필드를 기입해야합니다만, 한 값은 일반적이지 않습니다. 사용자가 "아니오"를 선택한 경우, 메시지가 표기됩니다. 다음 코드는 선택 요소 상의 이벤트 변경에 핸들러를 추가하여 이를 실행합니다:

Copy to clipboard
$("select[name='track_124']").change(function(){ if ($(this).find("option:checked").attr("value") === 'No') { alert("Then go do your homework."); } });

프리티 트래커를 위키 페이지 내부에서 사용하기

위키 페이지 내부의 프리티 트래커를 참고하십시오

입력 필드의 조건적 표시


이 위키 페이지에 다운로드 가능한 PDF와 MS 워드 파일로 첨부됨

구문 팁

{$f_created}: 만들어진 날짜
{$f_status_input}: 상태 입력 필ㄹ드
{$f_status}: 상태 (출력)
{$f_itemId}: 항목 ID
{$f_lastmodif}: 최종 수정된 날짜
(티키8 이후로는) {$itemoff}: 각 항목의 반복 수
{$tr_offset}: 항목의 오프셋, 즉, 이는 x 항목의 천체 수의 n번째 항목

구문 수정자

수정자는 "|" (파이프)를 사용하여 적용될 수 있습니다.

날짜 수정자

{$f_lastmodif|tiki_short_date} 는 사람이 읽을 수 있는 날짜만 표시할 것입니다.
{$f_lastmodif|tiki_short_datetime} 는 사람이 읽을 수 있는 날짜와 시간을 표시할 것입니다.
등등...

수정자 보기/편집

보기 모드에서 데이터 표시 (편집 모드 아님)
Copy to clipboard
{$f_122|output}

이것은 위키 테이블에서 작동하지 않는다고 보고 되었습니다
연관 커밋: http://sourceforge.net/p/tikiwiki/code/31403

관련

참조:

  • 트래커
  • 위키 페이지 안의 트래커
  • ((PluginTrackerList|TrackerList (트래커 목록) 플러그인))
  • ((PluginList|List(목록) 플러그인)) 및 ((PluginCustomSearch|Custom Search (사용자 지정 검색) 플러그인))
  • ((Project:15)) 와 같은 것을 프리티 트래커 페이지에 링크하는 법을 보려면 시맨틱 별칭 을 참조.


Aliases: Pretty트래커 | (alias(프리티트래커)