Темизация полей

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

Аватар пользователя vickolt vickolt 15 мая 2015 в 8:18

Доброго времени суток всем!

Давненько я не задавал глупых вопросов (хотя, по результатам поиска, эта тема волнует не одного меня)... короче говоря:

Есть сайт caramelbjd.com
Основное наполнение сайта - описания товаров с указанием цены и статуса наличия.
Вроде бы всё относительно нормально, но не даёт покоя то, что цена не выделяется (как в списке, как и на страницах товара), например, большим жирным шрифтом другого цвета, и статус наличия было бы неплохо выделять "In stock", к примеру, зелёным, "pre-order" - синим, "out of stock" - красным...

Полез я по справочникам, но так до конца и не понял, как правильно эти два вопроса решить. Где-то пишут, что в папке с темой надо создать файл views-view-field--field-price.php и в нём прописать стиль, кто-то посылает в style.css

А про раскрашивание разных вариантов статуса в разные цвета вообще не разобрался.

Конечно, я понимаю прекрасно, что надо "учить матчасть" и прочая бла-бла-бла, но
1. Я не вебмастер и не претендую на это звание, а сайт делается для близкого человека исключительно на энтузиазме.
2. Если бы я знал досканально матчасть, то мне бы и друпал не понадобился, а эту систему выбрал, как максимально удобную и простую для написания несложного сайта.

Буду безмерно благодарен, если поможете разобраться с этими вопросами.

Комментарии

Аватар пользователя serega111 serega111 15 мая 2015 в 9:26

цена жирным шрифтом:
в style.css добавить

.field-name-field-price {
  font-weight: bold;
  font-size: 15px; //любой подходящий размер
  color: #770000; //любой цвет
}

Если хотите другой стиль для списка товаров, то добавьте

.views-field-field-price .field-name-field-price {
  font-size: 15px; //любой подходящий размер
  color: #770000; //любой цвет
}

Для статуса на странице товара придется создать файл field--field-status.tpl.php (скопировать modules/field/theme/field.tpl.php), строку <?php <div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?>><?php print render($item); ?></div> ?> заменить на такой код


<?php
  
switch ($item['value']) {
    case 
'In stock':
      
$style 'style="color: green;"';
      break;
    case 
'Pre-order':
      
$style 'style="color: blue;"';
      break;
    case 
'Out of stock':
      
$style 'style="color: red;"';
      break;
  }
  <
div class="field-item <?php print $delta % 2 ? 'odd' : 'even'; ?>"<?php print $item_attributes[$delta]; ?> <?php print $style?>><?php print render($item); ?></div>
?>

Для статуса в списке товаров нужно открыть настройки поля Status во вьюхе, раскрыть Style settings и отметить Use field template.
И не забыть почистить кэш.

Аватар пользователя serega111 serega111 15 мая 2015 в 11:42

"ХулиGUN" wrote:
Зачем это?
Достаточно theme_field();

Возможно. Я темизацией полей никогда не занимался, предложил, что вспомнил