필드 컬렉션 항목을 사전 처리하여 첫 번째 클래스 이름과 마지막 클래스 이름을 추가하는 올바른 방법은 무엇입니까?


9

전처리 함수에서 필드 수집 항목에 / 를 추가 'first'하고 'last'클래스 이름 을 추가하는 방법은 무엇입니까?'odd''even'


1
테스트되지 않음
commonpike

hook_preprocess_field(&$vars)
pp

답변:


22

일반적으로 MYTHEME_preprocess_field_collection_item ()에서이 작업을 수행하지만 필드 컬렉션 항목에는 자체 사전 프로세스가 없습니다. 다행히 엔티티는 엔티티이므로 엔티티 사전 프로세스를 사용하여 고유 한 필드 콜렉션 사전 프로세스 함수를 작성할 수 있습니다.

/**
 * Implements template_preprocess_entity().
 */
function MYTHEME_preprocess_entity(&$variables, $hook) {
  $function = 'MYTHEME_preprocess_' . $variables['entity_type'];
  if (function_exists($function)) {
    $function($variables, $hook);
  }
}

/**
 * Field Collection-specific implementation of template_preprocess_entity().
 */
function MYTHEME_preprocess_field_collection_item(&$variables) {
  $variables['classes_array'][] = 'your-class-here';
  // Plus whatever other preprocessing you want to do.
}

2

에서 드루팔 8 전처리 기능을 추가 할 필요없이 존재한다 :

/**
 * Implements hook_preprocess_field_collection_item().
 */
function mymodule_preprocess_field_collection_item(array &$vars, $hook) {
  //dpm($vars);
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.