동적 메뉴를 만들기 위해 기성품 스니펫을 사용합니다. 길 찾기. Snippet, 이전 수업에서 기억할 수 있듯 이것은 조각입니다. PHP 코드, 템플릿에 포함할 수 있습니다. 청크와의 차이점은 코드와 호출 방법에만 있습니다. 덩어리를 double로 호출하면 중괄호, 그런 다음 스 니펫은 다음과 같은 도움으로 호출됩니다. [!Snippet_name!]- 캐시되지 않은 통화 등 [[스니펫 이름]]- 캐시된 통화. 각 스니펫 코드는 다음으로 시작해야 합니다. 하지만 끝 ?> . 또한 각 스니펫은 처리할 특수 매개변수 값을 전달할 수 있습니다. MODx에는 미래에 사용할 몇 가지 미리 만들어진 스니펫이 이미 있습니다.

단편 웨이파인더 MODx에 대한 링크 목록을 구성하는 역할을 합니다. 우리 사이트의 메뉴는 그러한 링크의 목록입니다. 먼저 메뉴 표시를 담당하는 코드를 찾아보겠습니다. 메뉴는 덩어리로 헤더, 여기있어:


  • 어서 오십시오

  • 디자인 블로그

  • 포트폴리오

  • 우리 회사

  • 문의하기

이 코드를 잘라내고 대신 작성해 보겠습니다.

((메뉴))

코드를 새 청크에 붙여넣습니다. 메뉴, 우리가 쓰는 청크의 설명에서 사이트 메뉴. 이제 이 코드를 살펴보겠습니다.

당사 웹사이트 메뉴는 다음이 포함된 컨테이너에 포함된 단순하고 정렬되지 않은 목록입니다. id="템플릿모_메뉴". 컨테이너에서 이 목록을 잘라내고 대신 스니펫 호출을 삽입해 보겠습니다.


[!웨이파인더? &startId=`0`!]

&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 문서 목록, 쉼표로 구분`.

    메뉴에 다음 단원에서 만들 하위 문서가 표시되지 않도록 스니펫 호출에 매개변수를 추가해 보겠습니다. 수준메뉴의 레벨 수를 결정하는 , 모든 레벨이 기본적으로 표시되며 한 레벨로만 제한됩니다.


    [!웨이파인더? &startId=`0` &level=`1`!]

    발행일: 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`]]

    startId 매개변수- 목록 형성을 시작할 문서를 나타냅니다. 0이 있습니다. 이는 목록이 문서 트리의 루트에서 구성되었음을 의미합니다.

    무슨 일이 있었는지 보자:

    이것은 작동 및 라이브 메뉴입니다. 문서 이름 바꾸기, 삭제, 추가 - 문서 트리에 따라 메뉴가 구성됩니다.

    5단계

    5.1. 이제 메뉴 모양을 정상으로 되돌립니다.

    Wayfinder는 기본적으로 간단한 코드를 생성하고() 모든 목록 및 요소 클래스가 제공됩니다. 특수 매개변수호출될 때.

    수업을 시작할 때 메뉴의 어떤 CSS 클래스가 무엇을 담당하는지 결정했습니다. Wayfinder에는 필요한 옵션이 있습니다. 외부 클래스- 메뉴 컨테이너의 클래스. 레이아웃과 비교하여 다음과 같은 Wayfinder 호출을 얻습니다.

    [[웨이파인더? &startId=`0` &level=`2` &outerClass=`메뉴`]]

    클래스가 있는 매개변수 외에 다음을 지정하십시오. 중첩 수준 - &level=`2`.

    우리는 단점에 주목합니다 - 최상위 메뉴 항목에 대한 클래스 없음, 태그 없음 및 하위 메뉴에 대한 클래스입니다.
    Wayfinder 호출에 적절한 매개변수를 추가하여 이러한 모든 단점을 수정합니다.

    5.2. 최상위 항목 및 태그에 클래스 추가

    이에 대한 변수가 있다 행Tpl, 메뉴 항목에 대한 템플릿을 설명하는 템플릿을 만듭니다. 이를 위해 이라는 청크를 만듭니다. 부모의:

  • [+wf.linktext+][+wf.래퍼+]
  • Wayfinder에 대한 호출에서 추가 &rowTpl=`부모` .
    소스 코드를 확인하는 것을 잊지 마십시오. 거의 모든 것이 정상이며 하위 메뉴가 남아 있습니다.

    하위 메뉴를 설정하기 위해 innerRowTpl 변수를 사용합니다.

    청크 생성 안의:

  • [ +wf.linktext+][ +wf.wrapper+]
  • 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

  • [[+메뉴제목]] ([[+어린이]])
  • [[+래퍼]]` &countChildren=`1` ]]



    웨이파인더 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]] - 소개 텍스트 필드의 값을 표시합니다.

    템플릿 예: [[+wf.linktext]][[+wf.wrapper]]

    템플릿 옵션

    이 옵션은 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 - 내부 콘텐츠(행)의 출력.
      [[+wf.래퍼]]

    &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 - 현재 중첩 수준

    사용 예:

    [[+wf.linktext]][[+wf.wrapper]]

    다른 옵션:

  • [[+wf.linktext]] - [[+wf.description]] [[+wf.wrapper]]

  • 첫 번째 수준


    [[!웨이파인더? &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.제목]]