В данной статье мы рассмотрим, как отключить вывод заголовка (title) на страницах Basic Page в Drupal 7. Ниже приведены шаги, которые помогут вам достичь этого.

Шаг 1: Создание пользовательского модуля

Первым шагом является создание пользовательского модуля, который позволит нам изменить вывод заголовка. Для этого вам необходимо создать папку с именем вашего модуля в директории «sites/all/modules». Затем создайте два файла в этой папке — «mymodule.info» и «mymodule.module».

В файле «mymodule.info» добавьте следующий код:


name = My Module
description = Custom module to disable title on Basic Page nodes
core = 7.x
package = Custom

В файле «mymodule.module» добавьте следующий код:


/**
 * Implements hook_preprocess_HOOK() for node templates.
 */
function mymodule_preprocess_node(&$variables) {
  if ($variables['type'] == 'page' && !empty($variables['node']->title)) {
    $variables['title'] = '';
  }
}

Шаг 2: Активация модуля

После создания модуля перейдите на страницу «Administer -> Modules» в административной панели Drupal. Найдите свой модуль в списке модулей и активируйте его, поставив галочку в поле «Enabled». Не забудьте сохранить изменения, нажав кнопку «Save configuration» внизу страницы.

Шаг 3: Проверка результата

После активации модуля перейдите на страницу, созданную с использованием типа контента Basic Page. Вы должны заметить, что заголовок не выводится на странице.

Дополнительные вопросы

1. Как изменить тип контента, на котором отключен вывод заголовка?

Если вы хотите отключить вывод заголовка не только на страницах Basic Page, но и на других типах контента, вы можете изменить условие в функции «mymodule_preprocess_node». Пример:


/**
* Implements hook_preprocess_HOOK() for node templates.
*/
function mymodule_preprocess_node(&$variables) {
  if (($variables['type'] == 'page' || $variables['type'] == 'article') && !empty($variables['node']->title)) {
    $variables['title'] = '';
  }
}

2. Как отключить вывод заголовка только на определенной странице Basic Page?

Если вы хотите отключить вывод заголовка только на определенной странице Basic Page, вы можете добавить условие на основе ID или пути страницы. Пример:


/**
* Implements hook_preprocess_HOOK() for node templates.
*/
function mymodule_preprocess_node(&$variables) {
  $node = $variables['node'];
  if ($node->type == 'page' && $node->nid == 123) {
    $variables['title'] = '';
  }
}

3. Как изменить текст заголовка на странице Basic Page вместо его отключения?

Если вы хотите заменить текст заголовка на странице Basic Page вместо его отключения, измените строку «$variables[‘title’] = »;» на «$variables[‘title’] = ‘Новый заголовок’;». Пример:


/**
* Implements hook_preprocess_HOOK() for node templates.
*/
function mymodule_preprocess_node(&$variables) {
  if ($variables['type'] == 'page' && !empty($variables['node']->title)) {
    $variables['title'] = 'Новый заголовок';
  }
}