Как сделать из такого сайта, такой. Только на 527 ноде.
Вроде в template.php прописаны в head файл стиля style.iee7.css
не могу понять куда прописать и что для страницы page_node_527.tpl.php
Стиль всего сайта
стиль для одной страницы
Хелп, я новичок
Есть более простой вариант, без того, чтобы плодить N-ное кол-во дублей шаблонов - у body должен быть класс с NID ноды (посмотреть можно через исходный код страницы). Всего-то нужно, что в общие css прописать стили только для этой страницы, например:
body.node-56{ background:#000;
...
... }
Еще можно через drupal_add_css() в теме или модуле подключить стиль только для этой ноды, но судя по всему, вам будет проще начать в варианта первого.
N - номер ноды.
THEMENAME - имя темы.
потом очистить кеш. Если THEMENAME_preprocess_node уже есть в template.php, то второй раз его писать не надо, просто конструкцию в эту функцию впишите.
drupal_add_css() - это для крупных сайтов и сеодвинутых сайтоводов
А еще можно к ноде текстовое поле приделать и задать в нем класс для body модулем https://www.drupal.org/project/field_formatter_css_class - это обрегает от переписывания кучи стилей в случае если у ноды будет другой ИД шник.
Согласитесь читать стили легче когда написано
.production .gallery-item
, а не
.page-node-527 .view-id-news.view-display-id-page_grid .views-row
Комментарии
Создайте страничку в вашей теме page--node--527.tpl.php - с двумя тире, а не подчеркиванием
я овощ, переименовал, и у меня терь просто белая страница, без каких либо элементов, можно код?((
Есть более простой вариант, без того, чтобы плодить N-ное кол-во дублей шаблонов - у body должен быть класс с NID ноды (посмотреть можно через исходный код страницы). Всего-то нужно, что в общие css прописать стили только для этой страницы, например:
background:#000;
...
...
}
Еще можно через drupal_add_css() в теме или модуле подключить стиль только для этой ноды, но судя по всему, вам будет проще начать в варианта первого.
drupal_add_css() мне как раз это и нужно, но у меня не получается правильный код, можете расписать?
Примерно так (в template.php):
<?php
function THEMENAME_preprocess_node(&$vars) {
if($vars['nid'] == N) {
drupal_add_css(drupal_get_path('theme', 'THEMENAME') .'/css/some.css', 'file');
}
}
?>
N - номер ноды.
THEMENAME - имя темы.
потом очистить кеш. Если THEMENAME_preprocess_node уже есть в template.php, то второй раз его писать не надо, просто конструкцию в эту функцию впишите.
Если тут http://mcpo-ostankino.ru/mcpo-production
, то .page-node-527
drupal_add_css() - это для крупных сайтов и сеодвинутых сайтоводов
А еще можно к ноде текстовое поле приделать и задать в нем класс для body модулем https://www.drupal.org/project/field_formatter_css_class - это обрегает от переписывания кучи стилей в случае если у ноды будет другой ИД шник.
Согласитесь читать стили легче когда написано
.production .gallery-item
, а не
.page-node-527 .view-id-news.view-display-id-page_grid .views-row
Хотя Бутсраперы со мной не согласятся (шутка)
включаем theme_debug в settings.php, копируем шаблон ноды node.tpl.php в шаблон для ноды с нужным ИД.
В новом шаблоне (вверху) пишем:
drupal_add_css(drupal_get_path('theme', 'my_theme').'/css/mystyle.css', array('group' => CSS_THEME, 'weight' => 100));
?>
Взято отсюда. https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_...
Натсаиваю, что нужно клонировать именно node.tpl.php, а не page.tpl.php
Пишет, что для 7 версии друпала это недопустимо.
???
Кто пишет? У меня работает. Я копирую этот код с живого сайта.