links__system_main_menu는 어디에 정의되어 있습니까?


13

검색 links__system_main_menu했지만이 테마의 사용법을 찾으십시오. 어디에 정의되어 있습니까?

답변:


24

Drupal 7 코어는 실제로이 기능을 정의하지 않습니다.

links__system_main_menu형식의 테마 후크 패턴입니다 [base hook]__[context]. 링크가로 테마가 지정 theme('links__system_main_menu', $vars)되면 정의 된 경우 theme()검색하여 사용 theme_links__system_main_menu()합니다. 그렇지 않으면을 사용 theme_links()합니다.

이 동작의 공식 문서는 theme () 을 참조하십시오 . Drupal 7 모듈 개발의 3 장 에서는이 점을 잘 설명하고 몇 가지 예를 제공합니다.

BTW에서도 동일한 원칙이 템플릿 파일에 적용됩니다. 경우, 예를 들어, 우리는 전화 theme('node__article__1', $vars), theme()A에 대한 검색합니다 node--article--1.tpl.php위해 다음 파일, 그리고 node--article.tpl.php마지막으로 다시 떨어지는, node.tpl.php그들 중 어느 쪽이 정의 된 경우.


11

theme_links__system_main_menu()는 현재 Drupal에서 정의되지 않았지만 MYTHEME_links__system_main_menu()테마에서 정의한 경우 Drupal이를 사용 합니다.

function MYTHEME_links__system_main_menu($variables) {
  $html = "<div>\n";
  $html .= "  <ul>\n"; 

  foreach ($variables['links'] as $link) {
    $html .= "<li>".l($link['title'], $link['path'], $link)."</li>";
  }

  $html .= "  </ul>\n";
  $html .= "</div>\n";

  return $html;
}

http://drupal.org/node/1033442#comment-5076932에서 더 많은 정보를 찾을 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.