Разное стилевое оформление нод с одним шаблоном node.tpl.php

Бывает нужно, чтобы вид материалов разных типов чем-то отличался при том, что используется один и тот же шаблон. Для этого достаточно добавить class по типу ноды. И средствами CSS придать ту изюминку другому типу материала. Для этого открываем файл темы node.tpl.php и смотрим, например, что у нас в div'е с классом node (самый первый div):

Например, в теме Garland там следующее:

<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">

На выходе, при просмотре материала node/100 это выглядит так:

<div id="node-100" class="node">

Добавим в существующий class следующее (лучше всего в конец):

type-<?php print $node->type; ?>

Получим:

<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?> type-<?php print $node->type; ?>">

Тогда при просмотре того же материала на выходе это будет:

<div id="node-100" class="node type-page">

при условии, что node/100 относится к типу материала page (Страница).

И теперь вы можете использовать .type-page в файле CSS.

Так же можно изменить вывод других div'ов, по желанию.

Так я сделала на одном сайте. Страницы Wiki отличаются по виду от страниц других типов материала, пример.

3 Комментария [Нет новых]

Аватар пользователя Гость

Здравствуйте!
А как сделать,что бы нода,выводимая в разных регионах (через вьюс,панельс мини)была оформлена по разному?

Аватар пользователя EllECTRONC

Так это должно быть еще проще. Стилизируйте по Id или class региона, названию views или панели. Скорее всего вам нужно добавить только CSS код.

Аватар пользователя Гость

спасибо за быстрый ответ! буду копать)

Что ты об этом думаешь?

  • Доступны HTML теги: <a> <em> <u> <strong> <strike> <del> <sup> <sub> <code> <pre> <blockquote> <img> <ul> <ol> <li> <dl> <dt> <dd> <table> <th> <tr> <td> <thead> <tbody>
  • Вы можете цитировать другие сообщения, используя теги [quote].
  • Строки и параграфы переносятся автоматически.
  • Вы можете сделать ссылку на другой материал, используя следующий синтакис:
    [node:node_id,title="val2"]
  • Текстовые смайлы будут заменены на графические.
  • Вы можете использовать подсветку исходного кода следующими тегами: <code>, <apache>, <bash>, <css>, <drupal5>, <drupal6>, <html4>, <java>, <javascript>, <php>, <sql>. Исходный PHP-код также может быть заключен в <?php ... ?> или <% ... %>.
CAPTCHA
Этот вопрос для тестирования, являетесь ли вы человеком и для предотвращиния автоматической отправки спама.
1 + 0 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.

Комментарии

RSS-материал

Новые пользователи

Ch
D.Choomc
deque
Antipolizei

Партнёр

Хостинг от HostAce