동적 메뉴를 만들기 위해 기성품 스니펫을 사용합니다. 길 찾기. Snippet, 이전 수업에서 기억할 수 있듯 이것은 조각입니다. PHP 코드, 템플릿에 포함할 수 있습니다. 청크와의 차이점은 코드와 호출 방법에만 있습니다. 덩어리를 double로 호출하면 중괄호, 그런 다음 스 니펫은 다음과 같은 도움으로 호출됩니다. [!Snippet_name!]- 캐시되지 않은 통화 등 [[스니펫 이름]]- 캐시된 통화. 각 스니펫 코드는 다음으로 시작해야 합니다. 하지만 끝 ?> . 또한 각 스니펫은 처리할 특수 매개변수 값을 전달할 수 있습니다. MODx에는 미래에 사용할 몇 가지 미리 만들어진 스니펫이 이미 있습니다.
단편 웨이파인더 MODx에 대한 링크 목록을 구성하는 역할을 합니다. 우리 사이트의 메뉴는 그러한 링크의 목록입니다. 먼저 메뉴 표시를 담당하는 코드를 찾아보겠습니다. 메뉴는 덩어리로 헤더, 여기있어:
이 코드를 잘라내고 대신 작성해 보겠습니다.
((메뉴))
코드를 새 청크에 붙여넣습니다. 메뉴, 우리가 쓰는 청크의 설명에서 사이트 메뉴. 이제 이 코드를 살펴보겠습니다.
당사 웹사이트 메뉴는 다음이 포함된 컨테이너에 포함된 단순하고 정렬되지 않은 목록입니다. id="템플릿모_메뉴". 컨테이너에서 이 목록을 잘라내고 대신 스니펫 호출을 삽입해 보겠습니다.
&startId=`0`처리된 문서가 있는 폴더의 ID를 스니펫에 알려주는 값이 0인 매개변수입니다. 메뉴에 표시할 모든 문서는 루트 폴더에 있으며 루트 폴더 ID는 0입니다. 우리가 무엇을 얻었는지 봅시다.
메뉴가 작동 중이며 활성 항목만 더 이상 흰색으로 강조 표시되지 않습니다.
왜 이런 일이 일어났는지 이해하려면 다음을 살펴봐야 합니다. 원천페이지. 에 모질라 파이어 폭스다음과 같이 수행됩니다. 보기 >> 페이지 소스 코드또는 바로 가기 키를 눌러 Ctrl+U. 메뉴 코드를 찾습니다.
소스 코드에서 활성 항목이 클래스="현재", 그리고 우리의 스니펫은 자동으로 활성 항목에 할당됩니다. 클래스="활성". 또한 소스 코드에서 클래스가 태그에 적용된 순간을 알 수 있습니다.
이제 태그로
C:/xampp/htdocs/site/www/assets/templates/ 폴더에서 파일을 찾습니다. templatemo_style.css메모장++로 엽니다. 이 파일에서 현재 클래스에 대한 설명을 찾고 있습니다. 198 선:
#templatemo_menu li .current(
왼쪽 여백: 40px
색상: #ffffff;
}
수업을 대체 현재의에 활동적인, 태그에 재할당하는 것을 기억함 :
#templatemo_menu li.active a(
왼쪽 여백: 40px
색상: #ffffff;
}
파일을 저장합니다. 무슨 일이 일어났는지 봅시다.
우리 메뉴는 디자이너가 의도한 대로 정확하게 작동했습니다. 이제 기본 메뉴를 사용하여 사이트의 페이지를 탐색할 수 있습니다. 루트 폴더에 다른 문서를 추가하면 메뉴에 자동으로 표시됩니다. 원하지 않는 문서가 메뉴에 표시되지 않도록 하려면 선택을 취소하십시오. 메뉴에 표시. 매개변수를 사용하여 원하지 않는 항목을 강제로 제외할 수 있습니다. &excludeDocs=`제외할 ID 문서 목록, 쉼표로 구분`.
메뉴에 다음 단원에서 만들 하위 문서가 표시되지 않도록 스니펫 호출에 매개변수를 추가해 보겠습니다. 수준메뉴의 레벨 수를 결정하는 , 모든 레벨이 기본적으로 표시되며 한 레벨로만 제한됩니다.
발행일: 2011년 2월 7일
이 간단한 자습서에서는 메뉴를 사용자 지정하는 방법을 보여 드리겠습니다.
한 사이트의 메뉴에서 버그를 수정하라는 요청을 받았을 때 일부 항목은 완고하게 줄을 서고 싶지 않았지만 마우스를 가져가면 페이지의 예기치 않은 위치에서 크롤링되었습니다. 버그는 처음에 가정한 것처럼 비뚤어진 CSS가 아니라 비뚤어진 Wayfinder 호출에 있었습니다.
웨이파인더란?- 이것은 섹션의 문서를 나열해야 할 때 사용되는 스니펫입니다. 스니펫의 결과로 정렬되지 않은 목록이 생성됩니다. 다양한 매개변수의 도움으로 이 목록으로 무엇이든 할 수 있습니다. :) 문서에서 더 많은 정보를 읽거나 Google에 "wayfinder modx wiki"를 입력하여 읽을 수 있습니다.
중요 참고 사항:
1. MODx가 무엇인지, MODx를 설치하는 방법, 문서 구조를 구성하는 방법, html에서 템플릿을 만드는 방법, 청크가 무엇인지 등에 대해. 이 수업에서 초보자를 위한 질문은 고려하지 않습니다.
2. 튜토리얼에서 사용할 자리 표시자는 Evo 버전이 "이해하는" 형식입니다. 차이점은 무엇입니까? 예를 참조하십시오.
그럼 차근차근 메뉴를 만들어 보도록 하겠습니다.
1 단계
수업을 위해 다음 메뉴를 스케치했습니다.
여기에서는 명확성을 위해 다음을 사용했습니다. 다른 스타일에게 다른 수준메뉴. 메뉴 버그가 수정 된 사이트에서는 메뉴의 각 수준에 고유 한 스타일이 있습니다.
조판 - 레이아웃 세부 사항은 이 수업의 범위에 포함되지 않으므로 다음 코드를 얻었습니다.
코드에 감탄한 후, 메뉴의 어떤 클래스가 무엇을 담당하는지 스스로 결정합니다(다른 사람의 코드를 샅샅이 뒤지고 있다면 자신의 코드에서 명확해야 함):
ul class="menu" - 전체 메뉴의 클래스
li class="top" - 최상위 메뉴 항목 클래스
class="top_link" - 최상위 항목의 링크 클래스
ul class="sub" - 하위 메뉴 클래스
글쎄, 최상위 항목 장식을 위한 span class="down"
2단계. 세 개의 문서 만들기
제품
- 배달
- 공급업체
"제품" 문서에서 "Truth Serum", "Makropulos Remedy", "Universal Remedies"와 같은 하위 문서를 만듭니다.
3단계. 메뉴를 별도의 청크로 이동
템플릿에서 메뉴가 있어야 할 자리에 불필요한 코드(자체 HTML 코드메뉴) 대신 씁니다.
((메뉴))따라서 메뉴를 별도의 청크로 가져옵니다. 그런 다음 새 청크를 만들고 호출합니다. 메뉴. 지금은 구성한 메뉴 코드를 청크의 내용에 복사할 수 있습니다. 명확성을 위해.
"사이트"-> "보기"의 관리자 패널로 이동하여 스타일 파일 및 그림에 대한 경로가 모두 정상인지 확인하십시오.
일어난? 좋아, 하지만 아직 메뉴가 아니다. Wayfinder의 도움으로 생명을 불어넣어 봅시다.
4단계
메뉴 청크의 모든 내용을 제거하고 대신 Wayfinder 스니펫을 호출하십시오.
우리가 쓰는 한:
startId 매개변수- 목록 형성을 시작할 문서를 나타냅니다. 0이 있습니다. 이는 목록이 문서 트리의 루트에서 구성되었음을 의미합니다.
무슨 일이 있었는지 보자:
이것은 작동 및 라이브 메뉴입니다. 문서 이름 바꾸기, 삭제, 추가 - 문서 트리에 따라 메뉴가 구성됩니다.
5단계
5.1. 이제 메뉴 모양을 정상으로 되돌립니다.
Wayfinder는 기본적으로 간단한 코드를 생성하고() 모든 목록 및 요소 클래스가 제공됩니다. 특수 매개변수호출될 때.
수업을 시작할 때 메뉴의 어떤 CSS 클래스가 무엇을 담당하는지 결정했습니다. Wayfinder에는 필요한 옵션이 있습니다. 외부 클래스- 메뉴 컨테이너의 클래스. 레이아웃과 비교하여 다음과 같은 Wayfinder 호출을 얻습니다.
[[웨이파인더? &startId=`0` &level=`2` &outerClass=`메뉴`]]클래스가 있는 매개변수 외에 다음을 지정하십시오. 중첩 수준 - &level=`2`.
우리는 단점에 주목합니다 - 최상위 메뉴 항목에 대한 클래스 없음, 태그 없음 및 하위 메뉴에 대한 클래스입니다.
Wayfinder 호출에 적절한 매개변수를 추가하여 이러한 모든 단점을 수정합니다.
5.2. 최상위 항목 및 태그에 클래스 추가
이에 대한 변수가 있다 행Tpl, 메뉴 항목에 대한 템플릿을 설명하는 템플릿을 만듭니다. 이를 위해 이라는 청크를 만듭니다. 부모의:
Wayfinder에 대한 호출에서 추가 &rowTpl=`부모` .
소스 코드를 확인하는 것을 잊지 마십시오. 거의 모든 것이 정상이며 하위 메뉴가 남아 있습니다.
하위 메뉴를 설정하기 위해 innerRowTpl 변수를 사용합니다.
청크 생성 안의:
Wayfinder 호출에 변수 추가 innerRowTpl=`내부`및 하위 메뉴 컨테이너에 대한 클래스를 지정하는 변수 &innerClass=`하위` .
Wayfinder에 대한 최종 호출은 다음과 같습니다.
[ ]그게 다야, 우리 메뉴가 준비되었습니다. 행운을 빕니다!
독자 여러분 안녕하십니까. 지난 수업에서 사이트를 일부 콘텐츠()로 채웠습니다. 이제 메뉴에 모든 것을 담다사용자가 탐색할 수 있도록 합니다.
동적으로 만들다 MODX의 메뉴우리는 스 니펫을 사용할 것입니다 PdoMenu패키지에서 pdo도구. 시작하기 전에 기본 문서를 읽으십시오.
pdoMenu 문서
옵션
템플릿 옵션
CSS 클래스 옵션
공식 예
공식 문서여기에서 읽을 수 있습니다. 이제 가장 일반적인 메뉴 호출을 분석합니다.
전화하기 PdoMenu
옵션 1. 이 정적 메뉴 대신 pdoMenu 스니펫 호출, 이를 위해 리소스 트리의 " 집단” 스니펫 섹션에서 분기를 확장합니다. pdo도구을 클릭한 다음 pdo메뉴마우스 왼쪽 버튼(버튼에서 손을 떼지 않음)을 누르고 이 스니펫을 메뉴를 호출하려는 위치로 드래그한 다음 열리는 창에서 필요한 매개변수를 채우고 " 구하다«.
옵션 2. 우리는 도전 과제를 수동으로 작성합니다.
대표적인 예
일반 단일 레벨 메뉴
예를 들어 다음 html 마크업이 있는 가장 일반적인 메뉴가 있습니다.
결과는 메뉴 호출이 있는 다음 코드입니다.
- &parents=`0` - 부모 목록(내 경우에는 특정 페이지만 표시하므로 선택을 제한하지 않음);
- &level=`1` - 중첩 수준(이 경우에는 존재하지 않음);
- &resources=`2,3,4,5` - 메뉴에 표시할 리소스 목록;
- &firstClass=`0` - 첫 번째 메뉴 항목에 대한 클래스(어떤 항목이 아님);
- &lastClass=`0` — 클래스 마지막 포인트메뉴(무엇이 아님);
- &outerClass=`top-menu` — 메뉴 래퍼 클래스(ul로 대체됨);
- &hereClass=`current-menu-item` - 활성 메뉴 항목의 클래스(li로 대체됨);
- &rowClass=`menu-item` - 단일 메뉴 모음의 클래스(li로 대체됨).
2단계 사용자 정의 부트스트랩 메뉴
정적 html 코드는 다음과 같습니다.
출력 코드는 다음과 같습니다.
또한 다음 강의에서는 부트스트랩을 기반으로 하는 드롭다운 메뉴의 출력을 몇 개 더 제공할 것입니다.
언뜻보기에는 모든 것이 복잡해 보이지만 그렇지 않습니다. 자세한 내용은 설명서를 읽고 의견에 질문하십시오. 확실히 도움이 될 것입니다.
메뉴 생성 스니펫. Wayfinder를 대체할 수 있으며 매개변수를 지정할 때 더 많은 유연성을 허용합니다.
예를 들어, 한 번에 여러 부모로부터 메뉴를 만들어 함께 표시하거나 별도의 분기로 표시할 수 있습니다.
처음 시작할 때만 속도가 크게 증가한 다음 유능한 캐싱 덕분에 Wayfinder가 특히 열등하지 않습니다.
옵션
기본적으로 pdoMenu는 일반적인 pdoTools 옵션과 자체 옵션을 허용합니다.
이름 | 기본 | 설명 |
---|---|---|
&부모님 | 현재 자원 | 쉼표로 구분된 검색 결과의 부모 목록입니다. 넣으면 부모(&parents)=`0`- 샘플은 제한되지 않습니다. 상위 ID가 하이픈으로 시작하는 경우 해당 ID와 해당 하위는 선택에서 제외됩니다. |
&수준 | 0(무제한) | 생성된 메뉴 수준입니다. |
&자원 | 쉼표로 구분된 결과에 표시할 리소스 목록입니다. 리소스 ID가 하이픈으로 시작하는 경우 해당 리소스는 선택에서 제외됩니다. | |
템플릿(&T) | 쉼표로 구분된 결과 필터링을 위한 템플릿 목록입니다. 템플릿 ID가 하이픈으로 시작하는 경우 하이픈이 있는 리소스는 선택에서 제외됩니다. | |
&어디 | JSON으로 인코딩된 추가 선택 옵션의 배열입니다. | |
디스플레이 시작(&디스플레이) | 0 | 초기 메뉴 노드 표시를 활성화합니다. 둘 이상의 "부모"를 지정할 때 유용합니다. |
&문맥 | 리소스 컨텍스트별로 선택을 제한합니다. | |
&show숨김 | 0 | 메뉴에 숨겨진 리소스를 표시합니다. |
&show미공개 | 0 | 게시되지 않은 리소스를 표시합니다. |
미리보기(&P) 미공개 | 0 | 사용자에게 권한이 있는 경우 게시되지 않은 리소스 표시를 활성화합니다. |
&hideSubMenus | 0 | 비활성 메뉴 분기를 숨깁니다. |
&고르다 | 쉼표로 구분된 선택할 필드 목록입니다. 예를 들어 배열로 JSON 문자열을 지정할 수 있습니다. &select=`("modResource":"id,pagetitle,content")` | |
&정렬 기준 | 메뉴 인덱스 | 매개변수에 지정된 경우 TV 매개변수를 포함하여 정렬할 리소스의 모든 필드 TV 포함(&include), 예를 들어 &sortby=`("tvname":"ASC","pagetitle":"DESC")`. 여러 필드의 배열로 JSON 문자열을 지정할 수 있습니다. 임의 정렬의 경우 다음을 지정하십시오. &sortby=`RAND()` |
&sortdir | ASC | 정렬 방향: 내림차순 또는 오름차순. &sortby 및 &sortdir 매개변수를 비워두면 리소스 순서대로 정렬됩니다. &자원. |
&한계 | 0 | 샘플 결과의 수를 제한합니다. |
&오프셋 | 0 | 처음부터 결과를 건너뜁니다. 명시적으로 지정된 것과 함께 사용해야 합니다. &한계 |
&check권한 | 예를 들어 리소스를 표시할 때 사용자를 확인할 권한을 지정합니다. &checkPermissions=`목록`. | |
&count어린이 | 0 | 각 범주의 하위 리소스 수를 정확하게 계산하고 [[+children]] 자리 표시자에 표시합니다. 하다 추가 요청 DB에 있으므로 기본적으로 비활성화되어 있습니다. |
&to자리 표시자 | 비어 있지 않은 경우 스니펫은 표시되는 대신 해당 이름을 가진 자리 표시자에 모든 데이터를 저장합니다. | |
&pl접두사 | 와. | 노출된 자리 표시자의 접두사. |
표시(&showLog) | 0 | 보여 주다 추가 정보스 니펫의 작업에 대해. "mgr" 컨텍스트에서 승인된 사용자에게만 해당됩니다. |
빠른 모드(&F) | 0 | 빠른 청크 처리 모드. 모든 원시 태그(조건, 스니펫 등)가 제거됩니다. |
&은닉처 | 0 | 스니펫의 결과를 캐싱합니다. |
캐시 시간(&C) | 3600 | 캐시 만료 시간(초). |
&계획 | -1 | URL 생성 체계는 modX::makeUrl()에 전달되므로 가능한 옵션필요 . 특수 uri 유형은 함수를 실행하지 않고 리소스의 uri 값을 대체합니다. |
사용(&useWeblinkUrl) | 1 | 리소스 클래스가 지정된 링크를 생성합니다. |
행 ID 접두어(&rowIdPrefix) | 청크에서 식별자를 설정하기 위한 접두사 id=""입니다. | |
&hereId | 생성된 메뉴에 대한 현재 리소스의 ID입니다. 예를 들어 다른 조각의 청크에서 메뉴를 표시할 때와 같이 스크립트 자체에서 잘못 결정하는 경우에만 지정해야 합니다. | |
TV 포함(&include) | 쉼표로 구분하여 선택할 TV 매개변수 목록입니다. 예를 들어 &includeTVs=`액션, 시간`[[+action]] 및 [[+time]] 자리 표시자를 제공합니다. | |
TV 준비(&P) | 전체 경로를 생성하려는 미디어 소스의 파일이 포함된 TV 옵션 목록입니다. 설정된 경우 &prepareTVs=`1`, 에 지정된 모든 TV TV 포함(&include). | |
&프로세스TV | 시스템 관리자의 설정에 따라 처리 및 표시할 TV 매개변수 목록입니다. 설정된 경우 &processTVs=`1`, 에 지정된 모든 TV TV 포함(&include). 작업이 느려집니다. | |
&tv접두사 | TV 설정에 대한 접두사. |
템플릿 옵션
이 옵션은 메뉴 생성을 위한 템플릿이 포함된 청크를 설정합니다.
이름 | 설명 |
---|---|
&tpl외부 | 전체 메뉴 블록의 청크 디자인. 기본값: @INLINE
|
&tpl | 메뉴 항목 디자인의 덩어리입니다. 지정하지 않으면 리소스 필드의 내용이 화면에 인쇄됩니다. 기본값: @INLINE |
&tpl여기 | 현재 메뉴 항목의 장식 조각입니다. |
&tpl시작 | 활성화된 경우 루트 항목의 디자인 청크 디스플레이 시작(&디스플레이). 기본값: @INLINE [[+메뉴제목]][[+래퍼]] |
&tplParentRow | &tplCategoryFolder 의 조건과 일치하지 않는 자식으로 부모를 꾸미는 청크. 예: @INLINE |
&tplParentRowHere | 하위 항목이 포함된 경우 현재 문서 스타일의 청크입니다. |
&tplParentRowActive | 활성 메뉴 분기에서 자녀와 함께 부모를 장식하는 덩어리. |
&tplCategory폴더 | 특별 카테고리 디자인 청크. 범주는 link_attributes 필드에 빈 템플릿 또는 rel="category"가 있는 자식이 있는 부모입니다. |
&tpl내부 | 메뉴 하위 항목의 전체 블록 디자인을 위한 청크입니다. 비어 있는 경우 - 사용 &tpl외부. 예: @INLINE |
&tplInnerRow | 메뉴 하위 항목을 디자인하기 위한 청크입니다. 예: @INLINE |
&tplInner여기 | 활성 메뉴 하위 항목에 대한 청크입니다. |
CSS 클래스 옵션
이 매개변수는 자리 표시자 [[+classnames]] 및 [[+classes]] 값을 설정합니다. 다양한 요소메뉴. [[+classnames]] 자리 표시자는 속성 없이 클래스 이름만 표시합니다. 클래스="", [[+classes]] 자리 표시자와 대조됩니다.
예
사이트 루트에서 한 수준으로 메뉴의 일반적인 출력:
[]
특정 상위가 제외되고 사용자 권한이 확인된 출력:
[]
한 번에 두 부모의 메뉴 표시, 루트 포인트 표시:
[]
중첩 수를 계산하여 두 가지 수준의 리소스 표시:
[]` &tplParentRow=`@INLINE
웨이파인더 MODX에 대한 링크 목록을 구성하는 역할을 합니다. 템플릿 지원 덕분에 필요한 형식으로 목록을 표시할 수 있습니다.
- 목록, 표, 이미지, 아이콘 등의 형태의 메뉴
- 정적 메뉴
- 다양한 효과가 있는 메뉴(드롭다운, 드롭다운 등)
- 사이트의 지도
&rowTpl=`rowTpl`
&outerTpl=`outerTpl`
&hereClass=`활성`
&rowClass=`eNav_li`]]
스니펫 옵션:
시작 ID(&startId)- 상위 페이지의 id, 0을 지정하면 사이트의 루트에서 가져옵니다. 기본값은 활성 페이지의 ID입니다.
디스플레이 시작(&디스플레이) - 메뉴 제목에 startId가 있는 문서 표시, 기본적으로 false
&수준- 중첩 깊이, 기본값 0 - 모든 수준
&한계- 출력의 페이지 수 제한(기본값 0 - 제한 없음)
무시(&I)숨김- "메뉴에 표시" 페이지의 확인란을 무시합니다. 1을 지정하면 모든 페이지가 표시됩니다. 기본값은 0입니다. "메뉴에 표시" 확인란이 선택된 페이지만 표시됩니다.
&ph - 즉시 출력을 대체하는 대체 이름입니다. 기본값은 0입니다.
디버그(&D)- 디버그 모드(기본값 0)
&hideSubMenus - 활성 하위 메뉴만 확장(기본값 0)
새 줄 제거(&removeNewLines)- 출력에서 줄 바꿈 문자를 제거합니다(기본값 0).
&textOfLinks- 메뉴 링크의 이름. 가능한 옵션:menutitle, id, pagetitle, description, parent, alias, longtitle, introtext . 기본메뉴 제목
&titleOfLinks- 메뉴 링크의 제목 옵션:menutitle, id, pagetitle, description, parent, alias, longtitle, introtext. 기본페이지 제목
행 ID 접두어(&rowIdPrefix)- 각 요소에 대한 id(rowIdPrefix + docId)를 설정합니다. 기본값 0
문서 포함(&include)- 메뉴에 포함될 문서의 ID(쉼표로 구분)(기본적으로 지정되지 않음)
문서 제외(&excludeDocs) - 메뉴에서 제외될 문서의 ID(쉼표로 구분)(기본값은 0)
컨텍스트(&context)- 메뉴 생성을 위한 컨텍스트. 기본값은 현재입니다.
&startIdContext - 결과를 형성하기 위해 문서를 가져오는 컨텍스트 식별자입니다.
구성(&config) - 외부 PHP 파일, Wayfinder 구성을 저장합니다(예: core/components/wayfinder/configs).
&계획 - URL을 생성하기 위한 형식입니다. 가능한 값(makeURL API 호출 기반):
1: (기본값) site_url에 상대적인 URL;
0: http 참조;
1: https 참조;
전체: site_url로 시작하는 절대 URL;
abs: base_url로 시작하는 절대 URL;
http: 절대 URL, http 체계에서 시행됨.
https: https 체계에서 시행되는 절대 URL입니다.
&정렬 기준 - 정렬 기준이 되는 필드입니다. (기본메뉴 인덱스)
옵션:
ID, menutitle, pagetitle, introtext, menuindex, 게시됨, hidemenu, 부모, isfolder, 설명, 별칭, 긴 제목, 유형, 템플릿&sortOrder- 정렬 순서."ASC" 또는 "DESC". 기본 ASC
&어디 - JSON 스타일 필터 옵션(MySQL의 위치에 해당). 예를 들어 기사 추가 기능에서 블로그나 뉴스를 숨기려면 &where=`[("class_key:!=": "Article")]`
예:
출력 전용 폴더: & 여기서 = `isfolder = 1
&hereId - 스니펫에서 사용할 현재 ID를 정의합니다. hereTpl 매개변수를 사용하여 템플릿을 지정하고 메뉴 항목에서 activeRowParentTpl이 올바르게 적용되지 않은 경우 값 [[*id]]를 사용하십시오. 기본적으로 현재 ID입니다.
예를 들어 다른 조각의 청크에서 메뉴를 표시할 때와 같이 스크립트 자체에서 잘못 결정하는 경우에만 지정해야 합니다.
&여기Tpl - hereTpl 템플릿은 현재 항목이 메뉴에 표시될 때 사용됩니다.
가능한 자리 표시자:
[[+wf.classes]] - 사용할 CSS 클래스를 지정하는 위치(class=" " 포함)
[[+wf.classnames]] - CSS 클래스의 이름만 포함합니다(class=" "는 포함하지 않음).
[[+wf.link]] - 링크 주소(href)
[[+wf.title]] - 링크 제목 텍스트
[[+wf.linktext]] - 링크 제목 텍스트
[[+wf.wrapper]] - 하위 메뉴를 표시할 위치
[[+wf.id]] - 고유 식별자(id) 표시
[[+wf.attributes]] - 추가 링크 속성 표시
[[+wf.docid]] - 현재 요소의 문서 ID
[[+wf.subitemcount]] - 폴더의 항목 수
[[+wf.description]] - 설명 필드의 값을 표시합니다.
[[+wf.introtext]] - 소개 텍스트 필드의 값을 표시합니다.
템플릿 예:
템플릿 옵션
이 옵션은 Wayfinder 출력을 생성할 패턴이 포함된 청크를 지정합니다.
에 현재 버전 MODX Revolution용 Wayfinder를 사용하면 wf 접두사 자리 표시자를 사용하여 맞춤형 TV에 액세스할 수 있습니다. , 예를 들어 [[+my_TV]]
작성 시 원래 TV 값만 반환되며 포맷되지 않습니다. 예를 들어 TV가 이미지인 경우 템플릿 내에서 이러한 TV를 일반적으로 사용하면 전체 이미지 태그가 반환되지만 Wayfinder 템플릿 내에서는 이미지 경로만 반환됩니다.
TV를 처리하려면 Wayfinder 행 템플릿(&rowTpl . 예를 들어, 이미지 TV는 상일반적으로 템플릿의 출력에 대해 다음 코드와 같은 것이 사용됩니다.
... ...
그러나 이렇게 하면 TV를 처리할 수 없으므로 다음으로 교체해야 합니다.
... ...
이제 processTV 스니펫 내부에 다음 PHP 코드를 배치합니다.
getObject("modResource", $myId); 반환 $doc->getTVValue($myTV);
결과적으로 완전히 처리된 TV 이미지가 반환됩니다.
&outerTpl
외부 컨테이너 템플릿을 포함하는 청크의 이름입니다.
사용 가능한 자리 표시자:
- wf.classes - Wayfinder 옵션 세트(class="" 포함) 속성에서 가져온 클래스를 표시합니다.
- wf.classnames - 클래스 이름 표시(class="" 제외)
- wf.wrapper - 내부 콘텐츠(행)의 출력.
&innerTpl 매개변수에는 &outerTpl 과 동일한 자리 표시자 세트가 포함되어 있습니다.
&rowTpl
메뉴 행의 요소에 대한 템플릿을 포함하는 청크의 이름입니다.
사용 가능한 자리 표시자:
- wf.classes - 클래스 출력(class="" 포함) 속성
- wf.classnames - 해당 클래스의 출력(class="" 제외)
- wf.link - 메뉴 링크의 href="" 속성 값
- wf.title - &titleOfLinks 매개변수에 지정된 필드의 링크 제목 텍스트 이름
- wf.linktext - &textOfLinks 매개변수에 전달된 필드에 지정된 활성 링크의 텍스트
- wf.wrapper - 하위 메뉴와 같은 내부 콘텐츠 출력
- wf.id - 고유한 속성 ID를 출력합니다. 이 자리 표시자가 값을 가져오려면 &rowIdPrefix 매개변수를 지정해야 합니다. 값은 접두사 + docId입니다.
- wf.attributes - 현재 요소에 대한 속성 참조를 표시합니다.
- wf.docid - 현재 요소의 문서 ID
- wf.description - 현재 요소에 대한 설명
- wf.level - 현재 중첩 수준
사용 예:
다른 옵션:
예
첫 번째 수준
[[!웨이파인더? &startId=`0` &level=`1`
&rowTpl=`rowTpl`
&outerTpl=`outerTpl`
&hereClass=`활성`
&rowClass=`eNav_li`]]
outerTpl 청크 코드
[[+wf.래퍼]]
rowTpl 청크 코드
[[+wf.래퍼]]
두 번째 수준(이 예에서 메뉴와 하위 메뉴 항목은 시각적으로 동일한 수준에 있었습니다.
[[!웨이파인더? &startId=`0` &level=`2`
&rowTpl=`rowTplFooterMenu`
&outerTpl=`outerTplFooterMenu`
&innerTpl=`innerTplFooterMenu`
&innerRowTpl=`innerRowTplFooterMenu`
&hereClass=`활성`]]
OuterTplFooterMenu 청크 코드
[[+wf.래퍼]]
rowTplFooterMenu 청크 코드
[[+wf.제목]]
[[+wf.래퍼]]
innerTplFooterMenu 청크 코드
[[+wf.래퍼]]
innerRowTplFooterMenu 청크 코드
[[+wf.제목]]