it-swarm-ko.tech

하위 테마를 사용하여 테마 template.php의 단일 기능을 재정의하는 방법은 무엇입니까?

대상 : Drupal 7 하위 테마 개발
전체 template.php 파일을 재정의하고 싶지 않습니다. template.php 파일의 단일 기능을 무시하고 싶습니다.

4
user931

그것은 실제로 함수의 유형에 달려 있습니다 :

  • 테마 함수 (theme_username()) 인 경우 하위 테마 이름 (SUBTHEME_username())으로 함수를 간단히 선언 할 수 있습니다.

  • 전처리 기능인 경우 하위 테마에 고유 한 버전의 전처리를 가질 수 있지만 IIRC 상위 테마 전처리는 여전히 호출됩니다.

  • 자체 기능 (표준 HOOK 기반 기능이 아님) 인 경우 다른 테마에서 덮어 쓸 수 있도록 고유 한 논리를 사용해야합니다.

누군가가 당신에게 더 구체적인 답변을 줄 수 있도록 해당 기능에 대한 정보를 더 제공하십시오.

5
Decipher

hook_html_head_alter () 를 사용하여 drupal_get_html_head ()에 의해 렌더링되기 전에 XHTML HEAD 태그를 변경) 할 수 있습니다.

function mytheme_html_head_alter(&$head_elements) {
  foreach ($head_elements as $key => $element) {
    if (isset($element['#attributes']['rel']) && $element['#attributes']['rel'] == 'canonical') {
      // I want a custom canonical URL.
      $head_elements[$key]['#attributes']['href'] = mymodule_canonical_url();
    }
  }
}
1
Pooja Goyal