В Drupal 7 я создал подтему, как мне назначить эту тему определенной странице? _ - PullRequest
3 голосов
/ 08 марта 2011

Итак, моя родительская тема и моя подтема включены в Drupal 7.

Я указал в .info подтемы, что базовая тема является родительской темой.

После того, как я создаю страницу, как мне сказать этой странице наследовать мою подтему?

Любая помощь будет принята с благодарностью

РЕДАКТИРОВАТЬ : Итак, я хочу создать несколько новых страниц (около 20), которые будут следовать тому же файлу шаблона, что и остальная часть моего сайта на Drupal.Однако все они будут иметь разные фоновые изображения, цвета ссылок и стили заголовков.Я полагал, что подтемы Drupal позволят мне создать страницу, которая наследует основную таблицу стилей, но позволяет мне изменять ее по мере необходимости для новых страниц.Похоже, это не то, что подтемы для.

Благодаря Matt V: Подтемы позволяют использовать существующую тему в качестве отправной точки для создания собственной пользовательской темы.

Ответы [ 4 ]

2 голосов
/ 10 октября 2012

Используя модуль themekey , вы можете достичь этого

См. http://drupal.org/project/themekey

2 голосов
/ 10 марта 2011

Я могу ошибаться, но если вы хотите реализовать разные темы на разных страницах, это звучит так, как будто вы ищете "hook_custom_theme", это довольно просто, в основном вы просто добавляете:

function mymodule_custom_theme(){
  //Some custom logic here
  $node=node_load(arg(1));
  if($node && $node->type=="my_custom_type"){
    return 'my_custom_theme';
  }
}

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

перечитывая ваше сообщение, вы можете захотеть взглянуть на функции template_preprocess_html и template_preprocess_page.Внутри этих функций вы можете устанавливать и изменять переменные шаблона, то есть

$vars['styles']=drupal_get_css();

, как только вы это сделаете, вы можете легко поменять теги css с небольшим количеством логики, этот метод позволит вам толькоиспользовать одну тему с несколькими CSS-файлами ....

2 голосов
/ 08 марта 2011

, чтобы активировать подтему, вам нужно включить ее и установить по умолчанию.

Подтема (или любая другая тема в этом отношении) предназначена для сайта в целом. Чтобы создать тему для отдельной страницы, вы можете создать шаблон для этой конкретной страницы или использовать модуль «Панели» - существует множество способов сделать из кожи кота друпал .....

вот еще немного информации Изменения в системе тем Drupal 7

1 голос
/ 08 марта 2011

Чтобы ваша тема активировалась по всему сайту и использовалась по умолчанию для ВСЕХ страниц, вам нужно зайти в admin / внешность и активировать свою тему, а затем нажать на ссылку рядом с темой «Определить по умолчанию».

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

...