it-swarm-ko.tech

모듈에서 뷰 테이블 레이아웃 재정의

내 모듈 내에서 뷰 테이블을 재정의하려고합니다. 인수가 무엇인지, 어떤 순서로 (내 hook_theme func의 경우) 찾을 수 없습니다. 뷰/테마에서 테마 파일을 복사했지만 수정하지 않았습니다. 누구나 무엇이 잘못되고 있는지 알고 있습니까?

내 테마 구성은 현재 :

'views_view_table__opportunities_mentions' => array(
  'arguments' => array(
    'view' => NULL, 
    'title' => NULL, 
    'header' => NULL, 
    'fields' => null, 
    'class' => null, 
    'row_classes' => null, 
    'rows' => null
  ),
  'template' => 'views-view-table--opportunities-mentions',
  'original hook' => 'views_view_table',
  'path' => drupal_get_path('module', 'smd') . '/theme',
),
4
lordg

테마보기에 대한 가장 쉬운 방법은 문제의 특정보기를 편집하고 아래로 스크롤하여 '테마 정보'링크를 찾는 것입니다. 이 화면에는 현재 사용중인 테마 템플릿과 테마에서이 출력을 재정의하기 위해 만들 수있는 템플릿이 정확히 표시됩니다.

기본적으로 모든 뷰 테마는 기본 마크 업을 디자인에 적합한 것으로 재정의합니다.

뷰 테마에 대한 훌륭한 자습서는 @ http://www.group42.ca/theming_views_2_the_basics 참조

[~ # ~] 편집 [~ # ~]

테마간에 이식 가능하도록 생성 된 마크 업 and을 완전히 제어하려면 사용자 지정 모듈을 만드는 것이 유일한 옵션입니다. 이 사용자 지정 모듈에는 테마 구성 요소가있을 수도 있고 뷰를 사용하여 무거운 SQL을 수행 할 수도 있습니다 (또는 SQL을 직접 작성).

시작하기 위해 비슷한 모듈을 살펴보고 hook_theme

3
wiifm

뷰를 전처리하는 것이 좋습니다.

특정 디스플레이 만 재정의하려면 구체적이어야합니다. 먼저보기를위한 tpl.php 파일을 작성해야합니다. 특정보기에 대한 테마 정보를보고 원하는 것을 파악할 수 있습니다. 예를 들면 다음과 같습니다.

enter image description here 그런 다음 현재 '테이블'인 행 스타일의 템플릿 제안을 찾고 싶습니다.

enter image description here

views-view-table.tpl.php 는 테이블 스타일이있는 모든 뷰를 재정의합니다. 이 뷰에만 한정하고 싶다면 (이 경우) views-view-table--frontpage.tpl.php - '프론트 페이지'를 귀하의 의견이 제시하는 제안으로 바꿉니다.

실제로 테마 디렉토리에이 파일을 작성해야합니다. 그러나이 파일에 무엇을 넣습니까? '스타일 출력'링크를 클릭하면 해당 파일에 복사하여 붙여 넣을 수있는 코드가 표시됩니다.

이 파일을 저장 한 후 template.php를 열고 전처리기를 만드십시오. D6에 파일이 없으면 프리 프로세서 가 작동하지 않습니다 . 다음은 예제와 함께 스텁 코드입니다.

function [theme-name]_preprocess_views_view_table__frontpage(&$vars) {
  // manipulate the $vars here
  ...
}

$ vars는 참조로 전달되므로 원하는 키를 조작하기 만하면됩니다.

0
sirkitree

실제로 대부분 나에게 맞는 것처럼 보입니다. 모듈에서 동일한 코드를 사용했습니다. 모듈에서 볼 수있는 템플릿 파일을 패키징하고 싶었습니다. 사이트가 관리자를 위해 일반 bartik 테마를 사용하고 있기 때문에 CSS를 추가하기 위해 해당 테마를 편집하고 싶지 않았습니다.

내가 잘못 생각하는 것은 다음과 같습니다.

'views_view_table__opportunities_mentions' => array(
  'arguments' => array(
  'view' => NULL, 
  'title' => NULL, 
  'header' => NULL, 
  'fields' => null, 
  'class' => null, 
  'row_classes' => null, 
  'rows' => null
),
'template' => 'views-view-table--opportunities-mentions',
'base hook' => 'views_view_table',
'path' => drupal_get_path('module', 'smd') . '/theme',
),

original hook 대신 base hook 여야합니다. 이를 위해서는 뷰에 자체 전처리 기능이 있어야 tpl에 올바르게 연결할 수 있습니다. 올바르게 설정하지 않으면 어쨌든 사용자 정의 tpl이 선택되지만 전처리 함수가 tpl이 사용하는 변수를 설정하지 않았기 때문에 tpl에서 누락되거나 null 변수에 대한 모든 종류의 오류가 발생합니다 .

0
stockli

대체하려는 테마 기능은 템플리트 화 된 테마 기능입니다. 이는 사전 처리 함수가 호출되고 변수가 템플리트로 전달됨을 의미합니다. 전처리 함수는 단일 변수 만 전달한다는 점에서 약간 다릅니다. 모든 변수를 포함하는 배열이므로 변수의 순서는 관련이 없습니다.

보다:

0
googletorp