[РЕШЕНО] Темизация views, вставить поле с произвольным кодом.

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

Аватар пользователя Sora_tm Sora_tm 31 января 2014 в 22:22

Добрый день!
Такая проблема, есть лента новостей, хочу в нее пихать банеры с рекламой, например после 3-й строчки, создал шаблон для "Row style output", views-view-fields--news2--default.tpl.php с таким содержимым.

<?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; ?>

Я так понимаю надо найти номер строки, и потом просто вcтавить HTML код, нужный мне, или вызвать Блок готовый.
Но как определить номер строки не пойму, подскажите плиз, ткните носом в пример Smile

Комментарии

Аватар пользователя Inj Inj 31 января 2014 в 22:31

если я правильно понял, то весь этот шаблон темизирует один ряд. А Вам нужно отсчитать третий...Можно конечно извратиться к примеру до

if (!isset($i)) $i=0;
elseif ($i == 2)print 'нужный блок';
else $i++;

Вродь должно сработать, но уж лучше взять другой шаблон, поглобальнее

Аватар пользователя Sora_tm Sora_tm 1 февраля 2014 в 14:28

Inj wrote:
если я правильно понял, то весь этот шаблон темизирует один ряд. А Вам нужно отсчитать третий...Можно конечно извратиться к примеру до

if (!isset($i)) $i=0;
elseif ($i == 2)print 'нужный блок';
else $i++;

Вродь должно сработать, но уж лучше взять другой шаблон, поглобальнее

Да, спасибо, лоханулся я не тот шаблон взял. Нужно было "Style output" вот код.

<?php
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */

?>
<?php if (!empty($title)): ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>

  <div class="<?php print $classes[$id]; ?>">
    <?php print $row; ?>
  </div>
 
  <?php if ($id == 2) :?>
  <-----МОЙ КОД------>
  <?php endif; ?>
 
<?php endforeach; ?>

Спасибо всем! Smile

Аватар пользователя Sora_tm Sora_tm 1 февраля 2014 в 14:56

Вот вариант с выводом готового блока, может кому пригодится Smile

<?php
/**
 * @file views-view-unformatted.tpl.php
 * Default simple view template to display a list of rows.
 *
 * @ingroup views_templates
 */

?>
<?php $block = module_invoke('block', 'block', 'view', 28);  ?> //Наш блок

<?php if (!empty($title)): ?>
  <h3><?php print $title; ?></h3>
<?php endif; ?>
<?php foreach ($rows as $id => $row): ?>

  <div class="<?php print $classes[$id]; ?>">
    <?php print $row; ?>
  </div>
 
  <?php if ($id == 1) :?>
   <?php echo $block['content'];?>  //выводим блок
 <?php endif; ?>
 
<?php endforeach; ?>