2010-12-06 3 views
3

기본적으로 4 개의 필드를 가져 오는 간단한보기가 있습니다. 기본적으로 특정 컨텐츠 유형의 필드를 가져옵니다. 다음과 같은 필드가 있습니다
CSS 클래스 (일반 텍스트)
이미지 (이미지)
제목
바디Drupal Views 2 : 사용자 정의 마크 업을 사용하여 출력

아주 간단한 물건. 보기를 만들었지 만 특수한 방법으로 결과물을 출력해야하며이 빌드가 내 빌드의 사용자 정의 마크 업과 함께 어떻게 작동하는지 확인할 수 없습니다. 컨테이너의 각 행을 래핑해야하며 각 행은 자체 컨테이너로 분할됩니다. 다음 코드를 살펴보십시오.

<div id="homepage-folio-portlets"> 
    <div class="homepage-folio-portlet [CSS class]"> 
    <div class="homepage-folio-portlet-image"><img src="[Image]" width="450" height="330" alt="" class="[CSS class]-image" /></div> 
    <div class="homepage-folio-portlet-text"> 
     <strong>[Title]</strong> 
     <p>[Body]</p> 
    </div> 
    </div> <!-- /homepage-folio-portlet --> 
    </div> <!-- /homepage-folio-portlets --> 

그래서 나는 용기, 홈페이지 - 폴리오 포틀릿을 가지고 그 안에 나는 각 행의 클래스 홈페이지 - 폴리오 포틀릿을 사용하여 새 컨테이너를 만들 전망을 반복 할 행에서 CSS 클래스를 포함하여 반환되었습니다.

가장 큰 장애물은 template.php에서 내 .tpl 파일 또는 테마 기능을 빌드하는 방법을 알아내는 것입니다. 나는 명명 규칙을 이해하지만, 일단 내부에서 나는 무엇을 해야할지 정말로 모른다. 나는 template.php에서 약간의 마술을해야 할 것 같은 기분이 들지만, 내 행 결과물이 콘텐츠의 CSS 클래스를 인식하는지 어떤지는 알지만 누가 알 수 있습니다. 어떤 도움과 방향을 주셔서 감사합니다.

답변

3

앞서 언급 한 video을 본 후에 내가해야 할 일을 성취하는 방법이 조금 더 명확 해졌습니다. 가장 큰 "아 - 하"는 "행 스타일 출력"템플릿의 기본 코드가 foreach 루프로 인해 나에게 혼란을 주었던 것입니다. 나는 단순히 루프없이이 파일에 맞는 모든 방법으로 각 필드를 출력 할 수 있다는 것을 인식하지 못했습니다. 동영상은 다음과 같은 약자 $ 필드 [ 'ID-of-field'] -> 콘텐츠를 사용하여 필드를 개별적으로 참조 할 수있는 방법을 보여줍니다.'ID-of-field'를 얻으려면 특정보기의 "Theming information"옵션 창에서 "Display output", "Style output"및 "Row style output"링크를 지나치는 것처럼 스크롤하십시오.

내보기의 편집 화면에있는 "테마 정보"를 사용하여 "행 스타일 출력"에 대한 가장 구체적인 .tpl을 작성하여 작성했습니다 (이 경우에는 view-view-fields - my- view-name - default.tpl.php.

보기 -보기 - 필드 - 내 - 뷰 - 이름 - default.tpl.php - 행 출력 때문에 대신 필드를 통해 반복의 기본 foreach는의
(더 이상 만들기 사용 파일 .tpl 내가 원하는 필드를 알고 나는 그들 어쨌든 나는

<div id="homepage-folio-portlets"> 
    <div class="homepage-folio-portlet <?php print $fields['CSS_class']->content ?>"> 
    <div class="homepage-folio-portlet-image"><img src="<?php print $fields['Image']->content ?>" width="450" height="330" alt="" class="<?php print $fields['CSS_class']->content ?>-image" /></div> 
    <div class="homepage-folio-portlet-text"> 
     <strong><?php print $fields['Title']->content ?></strong> 
     <p><?php print $fields['Body']->content ?></p> 
    </div> 
    </div> <!-- /homepage-folio-portlet --> 
    </div> <!-- /homepage-folio-portlets --> 

그 후, 나는 제거하기 위해 "스타일 출력"과 "디스플레이 출력".tpl 파일에 약간의 재귀를했다)에 맞게 간단하게 출력을 볼 수 있습니다 드루팔 (Drupal)이 추가 한 모든 마크 업 중. 내가 정말로 신경 쓰는 것은 $ 행 (foreach 루프와 함께) 스타일의 .tpl과 $ 행을 디스플레이 tpl에 출력하는 것이다. 그것은 내가 원하는 것을 정확하게 출력하고 있으며 나는 더 행복해질 수 없습니다. 마지막으로, 그것은 다소 의미가 있습니다. 다행히도 이것은 많은 사람들을 돕습니다. 그냥 참조

...

뷰 - 뷰 - 서식 - 내 - 뷰 - 이름 - default.tpl.php - 스타일 파일 .tpl
합니다 (foreach 루프를 유지하고 싶 여기에 각각의 행은)

<?php foreach ($rows as $id => $row): ?> 
<?php print $row; ?> 
<?php endforeach; ?> 

뷰 - 뷰를 출력됩니다 - 내 - 뷰 - 이름 - default.tpl.php - .tpl 파일을 표시

<?php print $rows; ?> 

모든 추가 마크 업을 제거하면 관리자 링크와 같은보기와 관련된 중요한 정보를 잃어 버릴 수 있지만 제 목적에는 적합합니다.

0

행에 템플릿 파일을 사용해 보셨습니까? 관리자 (admin)의보기 모듈에서 확인해야합니다. 보기를 만들 때 왼쪽 하단의 "정보"를 클릭하십시오. 템플릿 캐시를 새로 고침해야합니다 (이 작업을 수행하는 버튼이 표시됩니다).

1

보기의 편집 탭에서 기본 설정에서 "테마 :"를 찾아 "정보"링크를 클릭하십시오. 그런 다음 "기본 : Theming 정보"섹션에서 굵게 표시된 파일 이름은 현재 해당보기의 특정 하위 섹션을 주제로 사용되는 파일 이름입니다. 다른 이름은 기본값을 무시하는 데 사용할 수있는 "제안"이며 가장 구체적인 것으로부터 가장 구체적인 것으로 정렬됩니다. 은 "행 스타일 출력"링크를

  1. 을 클릭하여 기본 템플릿 코드를 복사 : 당신은 "행 스타일의 출력을"대체하려면처럼 경우

    , 그것은 소리를 시작합니다.
  2. 이 스타일을 모든보기,이보기 또는이보기의 특정 표시에 사용할지 여부에 따라 행 스타일에 사용할 제안 된 파일 이름 중 하나를 선택하십시오.
  3. 복사 된 코드를 은 "다시 검색 템플릿 파일"에 특정 클래스를
  4. 를 클릭하여 추가 할 템플릿 캐시를 다시 작성하는 단계 # 2
  5. 편집 필요에 따라 코드에서 선택한 파일 이름에 # 1 단계
  6. 반복에 대해 1-5 단계를 사용자 정의하려는 추가 하위 템플리트.
+0

나는 이것이 단계라고 이해하지만,이 비디오를 찾을 때까지 이상한 즉 "필요한 코드 편집"단계입니다. http://mustardseedmedia.com/podcast/episode30 – creativetim

+0

기본값을 사용하여 막혔습니다. 그것의 foreach 루프를 가진 코드는 "print $ fields [ 'id'] -> content"와 같은 것을 말할 능력이 있다는 것을 몰랐습니다. – creativetim

관련 문제