Отдельный шаблон страницы для разных типов нод в Drupal 7. Drupal где лежат шаблоны


Отдельный шаблон страницы для разных типов нод в Drupal 7

Здравствуйте!Задача такая - создать отдельный шаблон для разных типов страниц.Делаю как здесь http://www.drupal.ru/node/58386. Но, поскольку знание php нулевое, получается... плохоСначала создала файл page--type--mytype.tpl.php вставила в файл template.php

function mytheme_preprocess_page(&$variables, $hook) {//some other stuffif (isset($variables['node'])) {$variables['theme_hook_suggestions'][] = 'page__type__'. $variables['node']->type;$variables['theme_hook_suggestions'][] = "page__node__" . $variables['node']->nid;}}

Получила такое сообщениеFatal error: Cannot redeclare business_preprocess_page() (previously declared in /pub/home/academhost10/lifeswheel/sites/all/themes/business/template.php:51) in /pub/home/academhost10/lifeswheel/sites/all/themes/business/template.php on line 130

Смотрю на строку 51 и действительно нахожу там

function business_preprocess_page(&$vars) {......}

Вставляю код тудаfunction business_preprocess_page(&$vars) {if (isset($variables['node'])) {$variables['theme_hook_suggestions'][] = 'page__type__'. $variables['node']->type;$variables['theme_hook_suggestions'][] = "page__node__" . $variables['node']->nid;}...}

Ничего не происходит. Обращаю внимание, что у меня function business_preprocess_page(&$vars), а надоfunction mytheme_preprocess_page(&$variables, $hook)

Скомбинировала таким образомfunction business_preprocess_page(&$variables, $hook, $vars) {if (isset($variables['node'])) {$variables['theme_hook_suggestions'][] = 'page__type__'. $variables['node']->type;$variables['theme_hook_suggestions'][] = "page__node__" . $variables['node']->nid;}...}

Получила то, что хотела, но при этом появляется такое сообщениеWarning: Missing argument 3 for business_preprocess_page(), called in /pub/home/academhost10/lifeswheel/includes/theme.inc on line 1106 and defined in business_preprocess_page() (line 51 of /pub/home/academhost10/lifeswheel/sites/all/themes/business/template.php).

Скажите, пожалуйста, что и где еще нужно исправить?

PS Понимаю, что надо мной, наверное, сейчас все будут ржать. Смейтесь, пожалуйста, только подскажите - как сделать :))

drupal.ru

Описание списка файлов шаблона Drupal 7 на примере «Garland»

Темизация Drupal – не такая сложная задача, как может показаться на первый взгляд. Но что бы вникнуть и понять как внутри всё происходит, вам необходимы хотя бы базовые знания HTML, CSS, PHP не и не помешал бы JAVASCRIPT. Начнём, а рассматривать мы будет на примере стандартного шаблон Drupal (который поставляется у же из коробки) – «garland». Найти её можно по пути

 /themes/garlang

Многие могут уже догадываться, что вновь созданные шаблоны нужно копировать именно в эту папку - ха, не тут то было (хотя если скопируете –работать всё равно будет) – все шаблоны нужно сохранять по пути

 sites/all/themes  

- именно эту папку советует API. Расcмотрим файлы которые находятся внутри шаблона «garland».

Как мы видим, здесь представлены набор файлов и две папки, начнём по порядку:

  1. Папка «Color» - необходима нам для настройки цветовой схемы сайта, вы видели в настройках некоторых шаблонов – есть выбор цветовой гаммы:

    Вот именно содержание этой папки и отвечает за вывод внесённых изменений. Данная папка не является обязательной. Хочу подчеркнуть, что при создании шаблонов для Drupal – имеются как обязательные так и не обязательные файлы, далее в статье я буду этот момент подчёркивать!

  2. Папка «images» - думаю это и так понятно, в ней находятся все графические материалы, которые необходимы для шаблона.
  3. Файл «Comment.tpl.php» - файл отвечает за вывод комментариев на сайте. Как вы заметили файл оканчивается на «tpl.php» - в силу того, что Drupal внутри себя несёт движок «phpTemplate», который является очень гибким в темизации и на мой взгляд является лучшим.
  4. Файлы «fix-ie.css» и «fix-ie-rtl.css» - как вы наверное догадались по названию,- это стилевые таблицы для корректного отображения в браузерах великого и могучего Microsoft – IE. (Когда же они научатся делать нормальные браузеры).
  5. Файл «garland.info» - является обязательным файлом (замечу, что название файла и название папки в которой находятся файлы для шаблона должны совпадать) и несёт в себе всю необходимую информацию для шаблона, а именно разметка регионов, подключение стилевых таблиц и скриптов, версия ядра Drupal, для которого написан данный шаблон и так далее. Более подробно о каждом файле темы я рассмотрю в будущих уроках, а пока двигаемся дальше.
  6. Графический файл «logo.png» - не обязательный файл, - логотип сайта
  7. Файл «maintenance-page.tpl.php» - шаблон страницы, при переводе сайта в режим обслуживания
  8. Файл «node.tpl.php» - обязательный файл, отвечает за отображение ноды в анонсе и в полном описание для чего либо (заметка, страница или ваш тип содержимого).
  9. Файл «page.tpl.php» - обязательный файл, является скажем так – каркасом для всех страниц, несёт в себе основную вёрстку дизайна.
  10. Файл «print.css» - набор стилей, который Drupal подгружает когда необходимо распечатать страницу (в основном это те же стилевые таблицы, только без эффектов).Не обязательный файл
  11. Графический файл «screenshot.png» - этот файл отображается у вас при выборе шаблона, в админке сайта. Не обязательный файл.
  12. Файл «style.css» - стилевые таблицы сайта. Как бы не обязательный, но без него некуда.
  13. Файл «style-rtl.css» - те же стилевые таблицы, но для тех стран, где читают справа налево. Нужен для сайтов с несколькими языками внутри. Не обязательный файл.
  14. Файл «template.php» - необязательный файл, но очень нужен. Помогает переопределять процессы.
  15. Файл «theme-settings» - необязательный файл, применяется разработчиками для добавления новых настроек шаблона.

Более подробно о каждом файле поговорим в следующих уроках.

drupalfly.ru

Темизация блоков в Drupal 7. шаблон block.tpl.php.

Базовым шаблоном для блоков в Drupal 7 является файл block.tpl.php. Оригинальный файл block.tpl.php находится в ./modules/block.block.tpl.php.

В файле block.tpl.php задается шаблон-обертка при выводе заголовка и содержимого блока.Для более гибкой темизации на уровне шаблонов Drupal 7 предоставляет несколько дополнительных шаблонов:

В Drupal 7 используется следующий принцип приоритет шаблонов блоков:

 

drupal.by

Устанавливаем шаблон (тему) для Drupal 7

Для быстрого изменения оформления сайта на Drupal, есть множество шаблонов, под действиями которых сайт можно изменить до неузнаваемости. Есть платные так и бесплатные шаблоны. Платные естественно нас не интересуют, а вот список бесплатных можно посмотреть и скачать на официальном ресурсе Drupal. Можете скачать любую вам понравившуюся, а я скачаю тему под названием «Crisp» вот ссылка если кому она тоже приглянулась. Замечу, что она подходит только для 7й версии Drupal, но если кому нужно – то думаю под 6й Drupal не так сложно будет переписать.

Для установки шаблона в Drupal 7 есть два варианта:

  1. Через админку сайта
  2. Руками

Я рассмотрю оба варианта.

Вариант 1.

1.Скачиваем архив с темой.

2.Заходим в админку сайта в раздел «оформелние» по пути:

Название сайта/admin/appearance

3.Кликаем по пункту «Install new theme» (установка новой темы) с изображением плюсика:

4.Выбираем откуда мы будем производить установку шаблона. Нам предлагают на выбор 2 варианта, либо через инет (требуется адрес расположения темы) или локально архивом. Собственно говоря тему мы уже скачали поэтому выбираем второй вариант. Выбираем наш архив и кликаем «Установить»

5. Если всё прошло удачно появится вот такое сообщение, что шаблон установлен удачно.

6.Теперь нам необходимо включить тему, для этого переходим в раздел «Оформление» по пути:

Название_сайта/admin/appearance

Видим, что в доступных темах у нас и доступна наша только что установленная тема

Кликаем по пункту «Enable and set default» (включить и использовать по умолчанию.)

7. И смотрим как наш сайт преобразился

В любом случае любой шаблон требует дальнейшей настройки после установки, но это не в этом уроке.

Вариант 2 (руками).

1.Итак вы скачали архив с шаблоном, далее его лучше распаковать, сто бы у вас осталась одна папка с названием шаблона.

2.Переходим на наш сервер, где располагаются все файлы сайта, а именно идём по пути

Название_сайта/www/sites/all/themes/

Если у вас нет папки «themes» - то вам её необходимо создать.

3.Копируем в папку «themes» - папку с темой.

4.И теперь нам нужно просто включить этот шаблон, повторив пункт 6 из 1го варианта.

На этом установка шаблона для Drupal может считаться завершённой.

drupalfly.ru


Prostoy-Site | Все права защищены © 2018 | Карта сайта