it-swarm-ko.tech

보기에서 첫 번째 항목 사용자 정의

내 홈페이지의 블록으로 출력하려고합니다.

<ul>
  <li><a><img><p>Node 1</p></a></li>
  <li><a>Node 2</a></li>
  <li><a>Node 3</a></li>
  <li><a>Node 4</a></li>
</ul>

여기서 각 <li>는 노드를 나타내고 각 노드에 첨부 된 CCK 필드가 제공하는 이미지/텍스트입니다.

현재, 블록 뷰를 사용하여 노드 2-4를 출력하고 첨부 파일 뷰를 사용하여 여기에 설명 된대로 첫 번째 노드를 표시합니다. http://www.agileapproach.com/blog-entry/the-views2 -첨부 파일 표시

문제는 내 출력이 다음과 같이 끝나는 것입니다.

<div class="attachment attachment-before">
  <div class="view view-homepage-news ..">
    <div class="item-list">
      <ul>
        <li class="views-row ...">  
          <a><img><p>Node 1</p></a>            
        </li>
      </ul>
    </div>  
  </div> <!-- /.view -->
</div>
<div class="item-list">
  <ul>
    <li class="views-row ..."><a>Node 2</a></li>
    <li class="views-row ..."><a>Node 3</a></li>
    <li class="views-row ..."><a>Node 4</a></li>
  </ul>
</div>

출력이 내 목적에 맞도록 구부릴 수는 있지만 많은 템플릿 및 구성이 필요합니다. 또한 이것이 유일한 옵션이 아닌 한 CSS 및/또는 JavaScript를 사용하여 출력을 수정하지 않도록하고 싶습니다.

이것을 감안할 때 출력을 내가 원하는 것에 더 가깝게 만드는 가장 쉬운 방법은 무엇입니까?

편집 : 여기 customfield PHP 코드 필드에서 사용하고있는 거친 PHP 코드가 있습니다 (Jeremy French의 제안에 따라 : 내 PHP 코드 사용자 정의 필드에서 사용하는 코드는 다음과 같습니다)

<?php
  ++$static;
  if ($static == 1) {
    $nd=node_load($data->nid);
    $img_path = imagecache_create_path('news_image_thumbnail', $nd->field_image[0]['filepath']);
    print '<a><img src="' . $img_path . '"><p>Node 1</p></a>';
  } else {
    print "<a>Node $static</a>";
  }
?>
7
Daniel Nitsche

views custom field 로 무언가를 할 수 있습니다.

PHP 필드를 추가하고 원하는 마크 업 만 표시하고 (요소를 포함하지 않음) 행 번호 1에 대해서만 값을 출력하십시오.

5
Jeremy French

나는 개인적으로 전처리 기능을 사용하여 다음과 같이합니다.

function HOOK_preprocess_views_view_fields(&$vars) {
  if ($vars['view']->name == 'VIEW_NAME' && $vars['view']->row_index == 1) {
    // Do stuff here.
  }
}
8
Decipher

귀하의 질문을 올바르게 이해하고 있는지 확실하지 않지만, 이것을 위해 Semantic Views 모듈을 사용할 수 있다고 생각합니다. 기본 설정에서 스타일을 시맨틱 뷰로 설정 한 경우 시맨틱 뷰 설정 아래에서 "퍼스트 클래스 속성"을 설정하는 옵션이 있으며,이를 통해 뷰의 첫 번째 목록 항목을 테마 스타일로 타겟팅 할 수 있습니다. CSS 파일.

6
Jay

가장 쉬운 해결책은 사용자 정의 템플릿을 사용하는 것입니다. 그러나 많은 작업이 필요하지는 않습니다. 보기 인터페이스에서 사용 가능한 테마 정보를 사용하여 변경해야하는 템플리트를 볼 수 있습니다. 첫 번째 노드의 추가 항목을 인쇄하는 코드를 추가하기 만하면됩니다. 뷰는 각 행을 반복하므로 쉬워야합니다.

4
googletorp