Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗

Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.

Демо EBT модули Скачать EBT модули

❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами

Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.

Демо EPT модули Скачать EPT модули

Scroll

Разный цвет заголовка

22/02/2025, by Гость (не проверено)
Форумы

Нужно подставлять хекс код цвета, который находится в поле филды field_color в нужный кусок HTML кода.

 

Подготовил такое в шаблоне сайта:

<?php print render($title_prefix); ?>
                <?php if ($title): ?>
                    <h1 style="color: #<?php echo $Set_color; ?>;" id="page-title"><?php print $title; ?></h1>
                <?php endif; ?>
                <?php print render($title_suffix); ?>

 

В общем не могу понять как подставить в $Set_color содержимое поля field_colorну и естественно потом загонять в подготовленный заранее  <h1 style="color: #<?php echo $Set_color; ?>;" id="page-title"><?php print $title; ?></h1>.

 

Сделал в начале код

  // Загрузка ноды
  $node = node_load($nid);
  // Достаем значения поля
  $Set_color = $node->field_color[$node->language]['0']['value'];

 

Но нифига не выводит нинчего.

 

Как мне вывести значение?


Можете попробовать переопределить шаблон поля:

https://drupal.org/node/1089656

 

Можете также попробовать вот этот модуль commerce fancy attributes:

https://drupal.org/project/commerce_fancy_attributes


Решил таким способом:

 

В начало шаблона страницы указал

 

<?php
 if (isset($node)) {
    $Title_Color = !empty($node->field_color) ? "style=\"color: " . $node->field_color['und']['0']['rgb'] . ";\"" : "";
}
?>

 

И потом просто вывожу это <?php echo $Title_Color;  ?> там где надо.

 

Обработчик в template.php пока не получилось написать. Если кто скажет где ошибка, и как правильно - буду признателен:

 

function ИМЯ_ТЕМЫ_preprocess_page(&$variables) {
 if (isset($variables['node'])) {
    $Set_color = !empty($variables['node']->field_color) ? "style=\"color: " . $variables['node']->field_color['und']['0']['rgb'] . ";\"" : "";
    }
}

 

Что тут не так?

 


не $Set_color,  а $Title_Color (забыл переписать, но и перепсав не работает)


  // Загрузка ноды
  $node = node_load($nid);
  // Достаем значения поля
  $Set_color = $node->field_color[$node->language]['0']['value'];

Не уверен что в шаблоне есть переменная $nid. Используйте лучше просто 'und' вместо $node->language, скорее всего у вас один язык на сайте. Поставьте модуль devel, распечатайте с помощью dsm() массивы  $node, переменную $nid, переопределите шаблон поля и распечатайте там переменные.