Темизация Views - правильное увеличение заголовка в tpl.php выводимого views- fields

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

Аватар пользователя comerer comerer 28 ноября 2008 в 17:17

Требуется помощь в темизации блока вьюз.

Вывожу на главную страницу воьюз с помощью "fields", который включает в себя название раздела, заголовок новости (со ссылкой на новость) и краткое описание.

Очень плохо разбираюсь в php. Немного почитал про темизацию, после чего проверил ID выводимого блока: в моем случае это - block-views-world_news_main-block_1

После чего создал файл - block-views-world_news_main-block_1.tpl.php и закинул его в папку темы сайта.

В файле следующий код:

<div id="block-<?php print $block->module .'-'. $block->delta; ?>" class="clear-block block_sections block_sections-<?php print $block->module ?>">

<?php if ($block->subject): ?>
  <h2><?php print $block->subject ?></h2>
<?php endif;?>

  <div class="content"><?php print $block->content ?></div>
</div>

В принципе, все ок, кроме заголовка новости (нужно его увеличить).
Например, название раздела было увеличено путем -

<h2><?php print $block->subject ?></h2>

Используя ту же логику, добавил в этом файле еще одну строчку, с целью уменьшить заголовок выводимой новости до размера

<h4>

, но как-то безуспешно ; (.

Вот как пытался выводить:

1.

<?php if ($block->title): ?>
  <h4><?php print $block->title ?></h4>
<?php endif;?>

2.

<?php if ($view->title): ?>
  <h4><?php print $view->title ?></h4>
<?php endif;?>

3.

<?php if ($title): ?>
  <h4><?php print $title ?></h4>
<?php endif;?>

Но как-то не один из вышеперечисленных кодов не увеличивает заголовок новости.
Думаю, как обычно ошибся в логике построения кода.

Вот исходник страницы:

<div id="block-views-world_news_main-block_1" class="clear-block block_sections block_sections-views">

  <h2>Мир вне Канады</h2>

  <div class="content"><div class="view view-world-news-main view-id-world_news_main view-display-id-block_1 view-dom-id-3">
   
 
 
      <div class="view-content">

        <div class="views-row-1 views-row-odd views-row-first views-row-last">
     
  <div class="views-field-title">
                <span class="field-content"><a href="/news/2008-11-20/24">Женщины Барака Обамы</a></span>
  </div>

Где "Женщины Барака Обамы" и есть заголовок новости, который нужно увеличить.

Что посоветуете?

Каким кодом лучше всего увеличить?

Заранее благодарен!

---
Используется: Views 2 + Drupal 6

Комментарии

Аватар пользователя kissfm kissfm 28 ноября 2008 в 17:33

а как на счет в CSS файле
написать типа вроде такого:
.field-content a{
font-size: 12pt;
}
или
.views-field-title a{
font-size: 12pt;
}
Но думаю оба должны работать.

Аватар пользователя Ingumsky Ingumsky 28 ноября 2008 в 18:11

Заголовок четвёртого уровня (H4) меньше, чем заголовок второго уровня (H2) на две ступени. Или Вы именно этого и пытались добиться?

Аватар пользователя comerer comerer 28 ноября 2008 в 18:20

Ingumsky, да именно этого пытаюсь добиться (ранее ошибся написав "увеличить" - исправил).

kissfm, благодарю. Обазятельно попробую также и Ваш метод.

Аватар пользователя comerer comerer 28 ноября 2008 в 18:37

kissfm, использовал Ваш метод, но с небольшой корректировкой, так как если выводить .views-field-title влияние происходит и на другие блоки вьюз.

Мне нужно было один уникальный блок и в стилях я прописал следующее:


.view-world-news-main .views-field-title a{
font-size: 13pt;
}

Еще раз благодарю за подсказку!

Кстати, для общего образование, а как это сделать кодом в tpl.php?

Аватар пользователя Troy Troy 28 ноября 2008 в 18:58

Вам надо использовать
темплейт уровня Row style output, foreach из темплейта убираем, и вместо

<?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
  <?php endif; ?>

  <<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
    <?php if ($field->label): ?>
      <label class="views-label-<?php print $field->class; ?>">
        <?php print $field->label; ?>:
      </label>
    <?php endif; ?>
      <?php
      // $field->element_type is either SPAN or DIV depending upon whether or not
      // the field is a 'block' element type or 'inline' element type.
      ?>
      <<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
  </<?php print $field->inline_html;?>>
<?php endforeach; ?>

делаем что-то типа

<h4><?php echo $fields['title']->content;?></h4>
...

id поля (то что вместо 'title') можно посмотреть в theme information у view