Полностью изменить дизайн страницы в Drupal 7 - PullRequest
1 голос
/ 03 февраля 2012

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

Ответы [ 3 ]

3 голосов
/ 06 февраля 2012

В основном вы хотите новый шаблон страницы (в отличие от шаблона узла). Это не совсем работает из коробки в Drupal 7, поэтому есть несколько шагов:

Шаг 1 Создайте новый тип контента для этой специально тематической страницы, назовите его «особенным» или как угодно ...

Шаг 2 Добавьте этот код в ваш файл template.php. (Замените «yourthemename» в приведенном ниже коде на имя компьютера вашей темы, то есть имя папки вашей темы в / sites / all /)

 function yourthemename_preprocess_page(&$vars) {
      if (isset($vars['node']->type)) {
      $vars['theme_hook_suggestions'][] = 'page__' . $vars['node']->type;
      }
     }

Шаг 3 Создайте новый шаблон страницы в папке вашей темы и назовите его после нового типа контента. так, например: page--special.tpl.php и «special» - это имя типа содержимого. Настройте прочь!

Шаг 4 Очистить кеш

Шаг 5 Создайте новый кусок контента, используя новый тип контента - он будет в дизайне вашего нового шаблона страницы.

Конечный результат будет похож на отдельную тему, но в рамках существующей темы.

Обратите внимание, я написал сообщение в блоге о том, как сделать это для Drupal 6, но если вы прочитаете комментарии, есть идеи и ссылки, как это сделать для D7, но в основном то, что я здесь сказал.

http://highrockmedia.com/blog/creating-custom-content-type-page-templates-drupal-php

2 голосов
/ 03 февраля 2012

Вы можете запустить файл предупреждений page.tpl.php.Например.page--front.tpl.php

Не уверен, что это лучший способ сделать это, но он будет работать.Вы можете удалить из файла все, что вам не нужно, чтобы оно полностью отличалось от других страниц.

0 голосов
/ 03 февраля 2012

Drupal довольно гибок:

<?php
$json = array(
  'body' => 'This is the body of the page.',
  'title' => 'This is the page title',
);
return drupal_json_output($json);
?>
...