> 백엔드 개발 > PHP 튜토리얼 > Drupal 8의 테마보기 - 사용자 정의 스타일 플러그인

Drupal 8의 테마보기 - 사용자 정의 스타일 플러그인

Christopher Nolan
풀어 주다: 2025-02-15 12:02:12
원래의
325명이 탐색했습니다.

Drupal 8의 테마보기 - 사용자 정의 스타일 플러그인

뷰는 Drupal 8 Core입니다. 우리 모두는 지금까지 그것을 알고 있습니다. Twig는 Drupal 8의 새로운 템플릿 엔진입니다. 이것은 또한 우리도 알고 있습니다. 그러나 우리는 두 번째를 사용하여보기를 테마하기 위해 첫 번째와 프로그래밍 방식으로 상호 작용하는 방법을 알고 있습니까? 다른 서브 시스템과 마찬가지로 View Template를 재정의하는 것 외에도 Views 플러그인 형태 (디스플레이, 스타일, 행 및 필드)에서 더 강력한 대안을 사용할 수 있습니다. 이 기사에서는 Drupal 8의보기에 맞는 사용자 정의 스타일 플러그인을 만드는 방법을 살펴 보겠습니다. Bootstrap 탭 마크 업을 목표로 사용하고보기 결과를위한 탭 출력을 구현합니다. 보기 구성에서 스타일 설정을 사용하면 탭 내비게이션 사본으로 사용될 필드를 지정할 수 있으며 나머지 필드는 해당 탭 판에 표시됩니다. 기본적으로 각보기 결과는 탭을 나타냅니다. 따라서이 예제는 몇 가지 이상의 결과가있는 뷰에 적합하지 않습니다. 주요 목표는 Drupal 8에서 자신의 뷰 스타일 플러그인을 만드는 방법을 설명하는 것입니다. 우리는 프로젝트에서 부트 스트랩을 사용하는 방법에 대한 세부 사항을 다루지 않습니다. 그러나 자산에 대한 문서 페이지 또는 익명 사용자가 페이지에 jQuery를로드하여 혜택을받을 수 있는지에 대한이 기사를 확인할 수 있습니다. 그리고 미리 작성한 코드를보고 싶다면 데모 모듈 내 에서이 저장소에서 찾을 수 있습니다. 키 테이크 아웃

Drupal 8 Core에는 이제 뷰가 ​​포함되어 있으며 Twig는 새로운 템플릿 엔진입니다. Views 플러그인 (디스플레이, 스타일, 행 및 필드)은보기 템플릿을 재정의하는 강력한 대안을 제공 하며이 안내서는 Drupal 8의 뷰를위한 사용자 정의 스타일 플러그인을 만드는 방법을 설명합니다.이를 사용하여 사용을 사용하여보기를 위해 탭 출력을 구현하는 데 사용됩니다. 부트 스트랩 탭 마크 업 사용자 정의 스타일 플러그인 생성에는 모듈의 플러그인/보기/스타일 폴더 내에 플러그인 클래스를 구축하는 것이 포함됩니다. 이 클래스는 StylePluginbase 클래스에서 확장되며 @ViewsStyle 주석이 포함되어 있으며 플러그인의 ID, 제목, 도움말 텍스트, 테마 및 디스플레이 유형을 정의합니다. 스타일 플러그인은 목록을 렌더링하는 데 도움이되며 대부분의 디스플레이 유형에서 사용할 수 있습니다. 사용자 정의 스타일 플러그인 생성의 마지막 부분에는 테마 기능을 정의하고 Twig 템플릿 파일을 작성하는 것이 포함됩니다. .Module 파일 내부에 정의 된 테마 함수는 $보기 객체와 결과 $ 행을 기본적으로 템플릿으로 전달합니다. Twig Template 파일은 플러그인의 출력이 렌더링되는 방법을 제어합니다. 사용자 정의 스타일 플러그인이 만들어지면 Drupal 관리 인터페이스를 통해 활성화하고 형식 설정에서 뷰를 선택하여 볼 수 있습니다.

스타일 플러그 핀베이스 클래스에서 확장되기 때문에 더 이상해야 할 일이 없습니다. 마크 업 출력의 경우 실행 된 뷰에서 관련 변수를 수신하는 demo_bootstrap_tabs 테마에 의존 할 수 있습니다. 원한다면 렌더 메소드를 무시하고 더 많은 변수를 추가하고 테마를 변경하거나 필요한 모든 것을 변경할 수 있습니다. 우리는 불이행에 능숙합니다. 특히 템플릿이받는 변수를 처리하기 위해 전처리기를 구현하기 때문입니다.

테마 이제 우리가 평소와 같이 Demo_bootstrap_tabs 테마를 정의 할 시간입니다 (.Module 파일 내부) :

스타일 플러그인은 $보기 객체와 그 결과 $ 행을 기본적으로 템플릿으로 전달합니다. 템플릿으로 전송되기 전에 이러한 변수를 약간 처리하는 것은 전처리 업체에 달려 있습니다.

그래서 여기서 무슨 일이 일어나고 있습니까? 먼저 필드 이름을 사용할 수있는 스타일 플러그인 옵션 (보기 구성 할 때 선택한 것)을 확인합니다. 하나가없는 경우, 우리는 반환하지만, template_preprocess_views_view_unformatted 함수가 이미 잘 작동한다는 약간의 기본 전처리를 수행하기 전에 돌아 오지 않습니다. 그래서 우리는 그것에 대해 위임합니다. 그런 다음 뷰 결과를 반복하고 탭 탐색을위한 컨텐츠 배열을 구축합니다. 이를 위해서는 기본보기 views_view_field 테마 기능을 사용하여 선택한 필드를 렌더링합니다. 마지막 으로이 배열을 템플릿으로 전달하고 형식화되지 않은 목록 스타일의 기본 전처리 서기를 실행합니다. 템플릿 Drupal 8의 테마보기 - 사용자 정의 스타일 플러그인 Drupal 8에는 더 이상 테마 기능이 없으며 이제는 Twig 템플릿으로 모든 것이 처리됩니다. 모듈의 템플릿 폴더에서 Demobootstrap-Tabs.html.twig 파일이 어떻게 보이는지 봅시다 :

보시다시피, 이것은 부트 스트랩 탭에 필요한 마크 업입니다. 물론 관련 부트 스트랩 스타일과 스크립트가 테마에 먼저로드되어 있는지 확인하지 않고는 작동하지 않습니다. 가장 먼저 렌더링하는 것은 NAV 변수에서 탭 내비게이션 항목입니다. 이 배열을 통해 루프하는 동안 첫 번째 항목을 활성으로 기본값으로 기본적으로 활성화하고 고유 ID를 사용하여 아래 탭 컨텐츠 판을 타겟팅 할 수 있습니다. 항목의 실제 값에 대해서는 전처리 서에서 만든 렌더 배열을 인쇄하고 Drupal은 렌더링을 처리합니다. 즉, 여기에서 사용하는 필드가 링크와 일반 마크 업없이 비교적 짧은 지 확인하는 것이 좋습니다. 제목은 아마도 잘 작동 할 것입니다. 그러나 이것은 그에 따라보기를 구성하는 문제입니다.

내비게이션 아래에서, 우리는 동일한 루프 색인을 사용하여 첫 번째 행을 활성 탭 창으로 기본값으로 인쇄하고 위의 내비게이션이 가시성을 제어 할 수 있도록 독특하게 식별합니다. 컨텐츠의 경우 전체 row.content 변수 (Template_preprocess_views_view_unformatted 내부에 준비됨)를 인쇄하고 모든 필드가 포함되어 있습니다. 그리고 가 안 탐색에 사용한 필드를 포함시키지 않으려면보기 구성에서 디스플레이에서 해당을 제외 할 수 있습니다. 내비게이션에 여전히 나타납니다 (우리가 명시 적으로 인쇄하기 때문에) 메인 탭 창에는 그렇지 않습니다.

결론 그리고 거기에 우리는 그것을 가지고 있습니다. Views 스타일 플러그인은 뷰 결과를 부트 스트랩 탭으로 출력합니다. 지금 필요한 것은 부트 스트랩 자산이로드되고 새로운 스타일 플러그인을 사용하도록보기를 단순히 구성하는 것입니다. 이것은 많은 결과가있는보기를위한 것이 아니라 스타일 플러그인을 만드는 방법을 보여주는 예일 뿐이라는 점을 명심하십시오. 질문, 의견 또는 제안이 있으시면 아래에 두십시오! Drupal 8

의 테마보기에 대한 질문에 자주 묻는 질문 Drupal 8에서 사용자 정의 스타일 플러그인을 만드는 방법?

Drupal 8에서 사용자 정의 스타일 플러그인 만들기에는 여러 단계가 포함됩니다. 먼저, 아직 모듈이없는 경우 새 모듈을 만들어야합니다. 그런 다음 모듈의 SRC/플러그인/뷰/스타일 디렉토리에서 사용자 정의 스타일 플러그인 용 PHP 파일을 만듭니다. 파일에는 StylePluginbase 클래스를 확장하는 클래스가 포함되어야하며 @ViewSStyle 주석이 포함되어야합니다. 주석은 플러그인의 ID, 제목 및 도움말 텍스트를 정의합니다. 클래스에서 필요한 메소드를 정의한 후 Drupal 관리자 인터페이스를 통해 새로운 스타일 플러그인을 활성화 할 수 있습니다.

사용자 정의 스타일 플러그인의 주요 구성 요소는 무엇입니까?

사용자 정의 스타일 플러그인 Drupal 8은 일반적으로 플러그인 정의, 플러그인 클래스 및 템플릿 파일의 세 가지 주요 구성 요소로 구성됩니다. 플러그인 정의는 @ViewSStyle 주석을 통해 제공되며 플러그인의 ID, 제목 및 도움말 텍스트를 포함합니다. 플러그인 클래스는 StylePluginbase 클래스를 확장하고 플러그인의 동작 방식을 제어하는 ​​메소드를 정의합니다. 템플릿 파일은 플러그인의 출력이 렌더링되는 방법을 제어하는 ​​나뭇 가지 파일입니다. Drupal 8에서 기본 뷰 템플릿을 무시하려면 어떻게해야합니까?

Drupal 8의 기본 뷰 템플릿을 무시하려면 테마의 템플릿 디렉토리에서 새 Twig 파일을 만들어야합니다. 파일의 이름은 패턴보기 -View-[View-name]-[display-id] .html.twig를 따라야합니다. 이 파일에서는보기를 렌더링하는 데 사용해야하는 HTML 마크 업 및 Twig 코드를 정의 할 수 있습니다. 파일을 작성한 후 Drupal 캐시를 지우려면 변경 사항을 확인하십시오.

Drupal 8의 뷰 템플릿에 변수를 추가하려면 Drupal 8의 뷰 템플릿에 변수를 추가 할 수 있습니다. 테마의 .theme 파일에서 전처리 함수를 통해 수행됩니다. 함수는 패턴 테마를 따라야합니다. Theme_name_preprocess_views_view_view_name__display_id는 변수 배열 인 단일 인수를 가져야합니다. 이 배열에 새 변수를 추가 할 수 있으며 Twig Template에서 사용할 수 있습니다.

Drupal 8에서보기로 사용자 정의 스타일 플러그인을 어떻게 사용할 수 있습니까? Drupal 8에서 사용자 정의 스타일 플러그인을 만들었으므로 Drupal Admin 인터페이스를 통해 볼 수 있습니다. 보기를 편집하고 형식 섹션으로 이동하십시오. 형식 설정을 클릭하고 목록에서 사용자 정의 스타일 플러그인을 선택하십시오. 보기를 저장하면 사용자 정의 스타일 플러그인을 사용하여 렌더링됩니다.

사용자 정의 스타일 플러그인의 Render () 메소드의 목적은 무엇입니까?

render () 메소드는 a. Drupal 8의 사용자 정의 스타일 플러그인은보기 렌더링을 담당합니다. 입력으로 행의 배열이 필요하고 렌더 배열을 반환합니다. 렌더 배열에는 사용할 Twig 템플릿을 지정하는 #theme 키와 템플릿에 전달 해야하는 변수가 포함되어야합니다.

Drupal 8에서 뷰 템플릿을 디버깅하려면 어떻게해야합니까?

Drupal 8의 뷰 템플릿 디버깅은 Twig Debug 기능을 사용하여 수행 할 수 있습니다. Debug 옵션을 true로 설정하여 Services.yml 파일에서 Twig 디버깅을 활성화하십시오. 그런 다음 템플릿을 사용하는 페이지를 볼 때 사용중인 템플릿 파일을 표시하는 HTML 소스 코드에 주석이 표시되고이를 재정의하는 데 사용할 수있는 템플릿 파일 이름을 제안합니다. Drupal 8의 뷰 템플릿에서 조건부 논리를 사용합니까?

Drupal 8의 뷰 템플릿에서 조건부 로직은 Twig의 IF 문을 사용하여 구현할 수 있습니다. 나뭇 가지 코드에서 IF 키워드를 사용하여 조건을 테스트 한 다음 조건이 참인지 거짓인지에 따라 다른 마크 업이나 코드를 포함시킬 수 있습니다.

Drupal에서 볼 때 호출기를 사용자 정의 할 수있는 방법 8?

Drupal 8의보기에서 호출기 사용자 정의는 Drupal Admin 인터페이스를 통해 수행 할 수 있습니다. 보기를 편집하고 호출기 섹션으로 이동하십시오. 여기에서 사용할 호출기 유형을 선택하고 페이지 당 표시 할 항목 수를 설정하고 다른 호출기 설정을 구성 할 수 있습니다. Drupal 8에서 반응 형 뷰를 만들 수 있습니까?

Drupal 8에서 반응 형 뷰를 만드는 것은 뷰 템플릿에서 반응 형 디자인 기술을 사용하는 것과 관련이 있습니다. 여기에는 CSS 미디어 쿼리를 사용하여 다양한 화면 크기에서 뷰의 레이아웃과 모양을 조정하고 픽셀과 같은 고정 장치 대신 폭과 높이에 대한 유연한 장치를 사용하는 것이 포함될 수 있습니다.

위 내용은 Drupal 8의 테마보기 - 사용자 정의 스타일 플러그인의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿