Dove sono definiti links__system_main_menu?


13

Ho cercato links__system_main_menu, ma ho appena trovato gli usi di questo tema. Dove viene definito

Risposte:


24

Drupal 7 core in realtà non definisce questa funzione.

links__system_main_menuè un modello a gancio del tema del modulo [base hook]__[context]. Quando i collegamenti sono a tema theme('links__system_main_menu', $vars), theme()cercherà e utilizzerà theme_links__system_main_menu()se è stato definito. In caso contrario, utilizzerà theme_links().

Vedi tema () per la documentazione ufficiale di questo comportamento. Il capitolo 3 dello sviluppo del modulo Drupal 7 fa un ottimo lavoro nel spiegarlo e fornisce diversi esempi.

A proposito, lo stesso principio si applica ai file modello. Se, ad esempio, chiamiamo theme('node__article__1', $vars), theme()cercheremo un node--article--1.tpl.phpfile, e poi node--article.tpl.php, infine, torneremo a node.tpl.phpse nessuno dei due è definito.


11

theme_links__system_main_menu()non è attualmente definito da Drupal, ma Drupal utilizzerà MYTHEME_links__system_main_menu(), se lo definisci nel tuo tema.

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;
}

Puoi trovare qualche informazione in più su http://drupal.org/node/1033442#comment-5076932 .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.