[решено] Статичная картинка header разная для определенной node

Главные вкладки

Аватар пользователя constantine_vt constantine_vt 27 мая 2010 в 17:40

Здравствуйте Уважаемые!

Меня интересует каким способом возможно закрепить определенное изображение header к определенной node.
Например:
открываем node/1 видим на странице изображение№1 в header
открываем node/2 видим на странице изображение№2 в header
Вот как-то так.

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

Комментарии

Аватар пользователя constantine_vt constantine_vt 29 мая 2010 в 15:10

Если не трудно, поясните пожалуйста, в данный момент сделано так:

page.tpl.php

<?php<body class="<?php print $body_classes ?>">
<div id="header">?>

css

#header {
  background: transparent url(путь/header.jpg) 50% 0 no-repeat;
}
Аватар пользователя Eugeny Eugeny 29 мая 2010 в 19:36

"RxB" wrote:
откуда там возьмётся $node?

Возможно это не правильно. Но способ работает. В данном случае подставляеться в класс номер текущей ноды

Аватар пользователя Eugeny Eugeny 29 мая 2010 в 19:38

"constantine_vt" wrote:
пожалуйста помогите

Я вам выше написал способ решения этой задачи. Что у вас не получаеться ?

Аватар пользователя constantine_vt constantine_vt 30 мая 2010 в 0:35

Eugeny wrote:
"constantine_vt" wrote:
пожалуйста помогите

Я вам выше написал способ решения этой задачи. Что у вас не получаеться ?

Я очень благодарен, но выше я попросил пояснить, если вас не затруднит конечно.

Аватар пользователя Eugeny Eugeny 30 мая 2010 в 1:13

меняйте ваш body на этот <body class="node-<?php print $node->nid; ?>">

далее смотрите исходный код какой-нибудь ноды. Допустип открываем node/2
в исходном коде должно быть <body class="node-2">

в сss меняем :

.node-2 #header {
  background: transparent url(путь/header.jpg) 50% 0 no-repeat;
}

и так далее для каждой ноды поставляем свою картинку.

Аватар пользователя zman zman 4 января 2011 в 14:58

> Можно так : в page.tpl.php в тег body
> воткнуть nid; ?>">
> и помощью css определить картинку к каждой ноде.

не заработало

в 6м друпале
page.tpl.php
print $node->nid;
выводится пустым

т.к. $node в page.tpl.php не используется

решение
----------------------------------------------------------------------------------------------
более корректное (нежели хаки) решение
использовать модуль context

который помимо прочего имеет возможность в зависимости (например) от урла вставлять в body class нужный css

Аватар пользователя borys borys 6 января 2011 в 19:49

Можно бы было сделать более как-то универсально, что б не править цсс после додавания каждой новой ноды, например:
сделать cck поле (image) для ноды и сделать для него блок, можна даже сразу установить default изображение.
в итоге блок можна разместить где угодно.