it-swarm.dev

template.php를 사용하여 분류 기반 CSS 스타일링을 수행하는 방법은 무엇입니까?

CSS 스타일을 기반으로 분류 용어를 구현할 수 있기를 기대합니다. 특히 현재 용어를 추가하려는 본문 태그의 경우.

지금까지 내가 가지고있는 것은 다음과 같습니다.

function _phptemplate_variables($hook, $vars = array()) {
  global $node;

  switch ($hook) {
    case 'page':
      // die ('test');
      $vars['body_class'] = '';
      if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
        $vars['body_class'] = 'theme' . arg(2);
      }
      if (arg(0) == 'node' && is_numeric(arg(1))) {
        $node = node_load(arg(1));

        if (is_array($node->taxonomy)) {
          foreach ($node->taxonomy as $term) {
            $vars['body_class'] .= 'theme'.$term->tid;
          }
        }
      }

      if (drupal_is_front_page()) {
        $vars['body_class'] .= ' front';
      }
      break;
  }

  return $vars; 
}

나는 코드가 괜찮다고 생각하지만 결코 호출되지 않는다 (내 'die'함수 참조). 간단한 phptemplate 엔진과 최소한의 Drupal 6 설치.

여기서 내가 놓친 명백한 것은 무엇입니까?

3
Disco

호출되지 않은 이유는 hook_preprocess_variables는 Drupal 5 : Drupal 6)에서 hook template_preprocess_pag e를 사용해야합니다.

따라서 테마 이름이 "mytheme"인 경우 함수 이름은 "mytheme_preprocess_page "를 template.php에 추가합니다.


또한 Drupal 및 Taxonomy 모듈은 이미 많은 본문 클래스를 생성하므로 페이지를 전혀 전처리 할 필요가 없기 때문에 이미 존재하는 클래스를 확인해야합니다. 당신이 원하는 것은 분류에 따라 바디 클래스를 추가하는 것입니다).

1
wildpeaks

음, 몇 년 전에 우리는 이것을 작성했습니다 http://openconcept.ca/blog/jmlane/taxonomy_specific_css

Drupal 6 또는 7에 대해 업데이트해야하지만 원칙은 여전히 ​​적용됩니다.

0
Mike Gifford