Drupal 7: изменение вывода HTML меню?

Я пытаюсь изменить вывод HTML в теме Drupal 7, которую я создаю.

в основном, вместо S, содержащего просто S с текстом, Я хочу включить дополнительный HTML внутри .

Я знаю, что можно изменить HTML, созданный меню в Drupal. Я вижу следующий вызов на странице.ТПЛ.на PHP:

<?php print theme('links__system_main_menu', array(
      'links' => $main_menu,
      'attributes' => array(
        'id' => 'main-menu',
        'class' => array('links', 'clearfix'),
      ),
      'heading' => array(
        'text' => t(''),
        'level' => 'h2',
        'class' => array('element-invisible'),
      ),
    )); ?>

который, по-видимому, вызывает функцию темы,которая создает вывод. Один из способов изменить результатом будет изменение функции theme_links в теме.inc, верно?

http://api.drupal.org/api/drupal/includes--theme.inc/function/theme_links

Я также знаю, что вы можете поставить крюк в шаблон.php для переопределения функции, которая создает HTML. Я не могу понять, как создать фактическую функцию переопределения. Кто-нибудь может указать мне правильное направление, пожалуйста?

1 ответов


то, что вы сделали бы, это реализовать крюк для изменения вывода, а не изменять "тему.inc " файл напрямую.

например, принятый ответ на этой странице:Drupal Переопределить Пользовательский Шаблон Меню


и, как правило, когда вы хотите изменить вывод чего-либо, либо выполнить крючком (в модуле или в шаблоне.php активной темы) или используйте шаблон с заданным именем файла при таком case существует (когда шаблон еще не существует, вы также можете изменить список шаблонов предложений использование модуля или темы).